您的位置:首页 > 其它

ViewPager页面指示器简单实现

2016-03-05 10:51 435 查看
ViewPager的页面指示器可以通过设置imageview的visibility属性来实现指示器和页面的联动,java代码如下:

viewPager.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int arg0) {
// 改变三个小圆点
ImageView indicator1 = (ImageView) listheaderIcons.findViewById(R.id.iv_header_list_home_indicator_1);
ImageView indicator2 = (ImageView) listheaderIcons.findViewById(R.id.iv_header_list_home_indicator_2);
ImageView indicator3 = (ImageView) listheaderIcons.findViewById(R.id.iv_header_list_home_indicator_3);
indicator1.setImageResource(R.drawable.banner_dot);
indicator2.setImageResource(R.drawable.banner_dot);
indicator3.setImageResource(R.drawable.banner_dot);
// arg0%3让下标永远在0,1,2中变化
switch (arg0%3) {
case 0:
indicator1.setImageResource(R.drawable.banner_dot_pressed);
break;
case 1:
indicator2.setImageResource(R.drawable.banner_dot_pressed);
break;
case 2:
indicator3.setImageResource(R.drawable.banner_dot_pressed);
break;
}
//ViewPager的一次滑动完成,把处理上下动作的处理权还给ListView
listView.requestDisallowInterceptTouchEvent(false);
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// ViewPager的滑动开始,希望ListView不要处理滑动过程中可能出现的上下小动作
listView.requestDisallowInterceptTouchEvent(true);
}

@Override
public void onPageScrollStateChanged(int arg0) {

}
});

xml代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="180dp"

    android:background="#ffffffff"

    android:orientation="horizontal" >

    <android.support.v4.view.ViewPager

        android:id="@+id/vp_header_list_home_icon_viewpager"

        android:layout_width="match_parent"

        android:layout_height="match_parent" />

    <LinearLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_marginBottom="3dp" 

        android:layout_centerHorizontal="true"

        >

        <ImageView

            android:id="@+id/iv_header_list_home_indicator_1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginRight="5dp"

            android:src="@drawable/banner_dot_pressed" />

        <ImageView

            android:id="@+id/iv_header_list_home_indicator_2"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginRight="5dp"

            android:src="@drawable/banner_dot" />

        <ImageView

            android:id="@+id/iv_header_list_home_indicator_3"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginRight="5dp"

            android:src="@drawable/banner_dot" />

    </LinearLayout>

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: