zoukankan      html  css  js  c++  java
  • ViewPagerIndicator的使用方法

    使用方法:
     
    1.引用library,并解决support v4 jar包冲突
     
    2.布局文件中添加viewpager和viewpagerindicator,布局文件:
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <com.viewpagerindicator.TabPageIndicator
            android:id="@+id/vpi_indicator"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/base_action_bar_bg" >
        </com.viewpagerindicator.TabPageIndicator>
    
        <android.support.v4.view.ViewPager
            android:id="@+id/vp_news"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >
        </android.support.v4.view.ViewPager>
    
    </LinearLayout>

    3.声明viewpagerindicator,java代码:

    vp_news.setAdapter(new NewsTabPagerAdapter());//给viewpager设置数据适配器
     
    // ViewPagerIndicator声明
    TabPageIndicator indicator = (TabPageIndicator) mActivity
    .findViewById(R.id.vpi_indicator);
    indicator.setViewPager(vp_news);// 绑定必须要在viewpager设置好数据适配器之后

    4.viewpager数据适配器类中重写getPageTitle方法,java代码:

    @Override//获取title,从而indicator可以从此获取title
    public CharSequence getPageTitle(int position) {
      return mChildren.get(position).title;//这里具体实现方法自己写
    }
     

    5.在清单文件中给ViewpagerIndicator所在的activity设置主题,清单文件:

      <activity
                android:name=".MainActivity"
                android:theme="@style/Theme.PageIndicatorDefaults" />

    其他样式可在该主题里改,得出一个黑色的背景,如图:

     
    附加:想更换背景颜色,可以在当前页面所在的activity的布局文件里更改背景颜色。例如,我的mainActivity布局文件如下:
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/fl_main"
        android:background="#fff"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
    </FrameLayout>
    注意:使用indicator的时候,如果我们想要给viewpager设置页面切换监听事件setOnPageChangeListener(new MyPageChangeListener());
    要给indicator设置,而不要给viewpager设置,否则没反应,换句话说,如果我们不小心给viewpager设置页面切换监听事件,而又没反应的时候,或者出现奇怪的现象,就应该想到这个问题。因为事件要传递给indicator,它才能正确地指示。
  • 相关阅读:
    python学习笔记(一)--之list与tuple
    centos 安装redis3.0为解决数据库频繁插入数据IO性能问题
    Win32汇编木马初探
    Knockout自定义绑定my97datepicker
    iTextSharp给PDF添加水印
    技术资料整理
    css模拟阴影和小三角
    统计一个部门有多少人
    js登录界面带提示
    程序员给女朋友用HTML5制作的3D相册 (www.webhek.com)<转摘>
  • 原文地址:https://www.cnblogs.com/johnsonwei/p/5618475.html
Copyright © 2011-2022 走看看