利用ViewPager建立多个关卡,左右切换

    这是主activity:

黔西南州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

public class BActivity extends Activity {

private ViewPager viewPager;

private TextView text, text2, text3;

private MyViewPager myPager;

private List mList;

private View view1, view2, view3;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

initText();

initViewPager();

}

//初始化textView

public void initText() {

text = (TextView) findViewById(R.id.text);

text2 = (TextView) findViewById(R.id.text2);

text3 = (TextView) findViewById(R.id.text3);

text.setOnClickListener(new MyOnClickListerImpl(0));

text2.setOnClickListener(new MyOnClickListerImpl(1));

text3.setOnClickListener(new MyOnClickListerImpl(2));

}

//TextView的监听事件

private class MyOnClickListerImpl implements OnClickListener {

int index = 0 ;

public MyOnClickListerImpl(int i){

index = i ;

}

@Override

public void onClick(View v) {

viewPager.setCurrentItem(index);

}

}

//初始化viewPager

public void initViewPager() {

viewPager = (ViewPager) findViewById(R.id.viewPager);

view1 = LayoutInflater.from(BActivity.this).inflate(

R.layout.show_content, null);

view2 = LayoutInflater.from(BActivity.this).inflate(

R.layout.show_content2, null);

view3 = LayoutInflater.from(BActivity.this).inflate(

R.layout.show_content3, null);

mList = new ArrayList();

mList.add(view1);

mList.add(view2);

mList.add(view3);

myPager = new MyViewPager(mList);

viewPager.setAdapter(myPager);

viewPager.setCurrentItem(0);

viewPager.setOnPageChangeListener(new OnPageChangeListenerImpl());

}

private class OnPageChangeListenerImpl implements OnPageChangeListener {

@Override

public void onPageScrollStateChanged(int arg0) {

/*

* 此方法是改变状态的时候调用,arg0有三个值,分别是0、1、2 当为0的时候说明说明都没做, 当为1的时候说明正在滑动

* 当为2的时候说明已经滑动完成

*/

}

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

/*

* 这个方法是滑动的时候调用的, 第一个参数是当前页面 ,第二个参数是当前页面偏移的百分比, 第三个页面是当前页面偏移的像素位置

*/

}

@Override

public void onPageSelected(int arg0) {

// 此方法是页面跳转完成之后调用,参数的意思是,当前旋转的position,点击选中的position

switch (arg0) {

case 0:

text.setTextColor(getResources().getColor(R.color.whi));

text2.setTextColor(getResources().getColor(R.color.back));

text3.setTextColor(getResources().getColor(R.color.back));

break;

case 1:

text.setTextColor(getResources().getColor(R.color.back));

text2.setTextColor(getResources().getColor(R.color.whi));

text3.setTextColor(getResources().getColor(R.color.back));

break;

case 2:

text.setTextColor(getResources().getColor(R.color.back));

text2.setTextColor(getResources().getColor(R.color.back));

text3.setTextColor(getResources().getColor(R.color.whi));

break;

default:

break;

}

}

}

这是main.xml:

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="#FFFFFF" >

   

        android:id="@+id/line"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:orientation="horizontal"

        android:background="#888888" >

       

            android:id="@+id/text"

            android:layout_width="0sp"

            android:layout_height="wrap_content"

            android:layout_margin="10sp"

            android:layout_weight="1"

            android:gravity="center_horizontal"

            android:text="关卡一"

            android:textColor="#FFFFFF"

            android:textSize="20sp" />

       

            android:id="@+id/text2"

            android:layout_width="0sp"

            android:layout_height="wrap_content"

            android:layout_margin="10sp"

            android:layout_weight="1"

            android:gravity="center_horizontal"

            android:text="关卡二"

            android:textColor="#000000"

            android:textSize="20sp" />

       

            android:id="@+id/text3"

            android:layout_width="0sp"

            android:layout_height="wrap_content"

            android:layout_margin="10sp"

            android:layout_weight="1"

            android:gravity="center_horizontal"

            android:text="关卡三"

            android:textColor="#000000"

            android:textSize="20sp" />

   

   

        android:id="@+id/viewPager"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_below="@id/line" />

这是MyViewPager:

package your.namespace;

import java.util.List;

import android.support.v4.view.PagerAdapter;

import android.view.View;

import android.view.ViewGroup;

public class MyViewPager extends PagerAdapter {

private List mList;

public MyViewPager(List mList) {

this.mList = mList;

}

@Override

public int getCount() {

// 返回mList中包含view的所有view的个数

return mList.size();

}

@Override

public void destroyItem(ViewGroup container, int position, Object object) {

// 删除mList中的某一个view

container.removeView(mList.get(position));

}

@Override

public Object instantiateItem(ViewGroup container, int position) {

// 添加一个view到mList中

container.addView(mList.get(position), 0);

return mList.get(position);

}

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == arg1;

}

}

附件:http://down.51cto.com/data/2365686

分享名称:利用ViewPager建立多个关卡,左右切换
网站地址:http://pwwzsj.com/article/ipesgs.html