package com.genius.demo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class ViewPageActivity extends Activity implements android.view.View.OnClickListener, OnPageChangeListener{
private ViewPager mViewPager;
private ViewPageAdapter mPageAdapter;
private List<View> mListViews;
private final static int viewBackground[] = {R.drawable.guide01,
R.drawable.guide02,
R.drawable.guide03,
R.drawable.guide04,
R.drawable.guide05,};
private ImageView[] mImageViews;
private int mViewCount;
private int mCurSel;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_viewpage_layout);
initViewPage();
init();
}
private void initViewPage()
{
mListViews = new ArrayList<View>();
LayoutInflater mLayoutInflater = getLayoutInflater();
mViewCount = viewBackground.length;
for(int i = 0; i < mViewCount; i++)
{
View view = mLayoutInflater.inflate(R.layout.layout, null);
view.setBackgroundResource(viewBackground[i]);
mListViews.add(view);
}
mPageAdapter = new ViewPageAdapter(mListViews);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setAdapter(mPageAdapter);
mViewPager.setOnPageChangeListener(this);
}
private void init()
{
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.llayout);
mImageViews = new ImageView[mViewCount];
for(int i = 0; i < mViewCount; i++)
{
mImageViews[i] = (ImageView) linearLayout.getChildAt(i);
mImageViews[i].setEnabled(true);
mImageViews[i].setOnClickListener(this);
mImageViews[i].setTag(i);
}
mCurSel = 0;
mImageViews[mCurSel].setEnabled(false);
}
private void setCurView(int pos)
{
if (pos < 0 || pos >= mViewCount)
{
return ;
}
mViewPager.setCurrentItem(pos);
}
private void setCurPoint(int index)
{
if (index < 0 || index > mViewCount - 1 || mCurSel == index)
{
return ;
}
mImageViews[mCurSel].setEnabled(true);
mImageViews[index].setEnabled(false);
mCurSel = index;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int pos = (Integer)v.getTag();
setCurView(pos);
setCurPoint(pos);
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
setCurPoint(arg0);
}
}