android viewpager和tabpageIndicator简单使用

这里附上ViewpageIndicator的github链接  https://github.com/JakeWharton/ViewPagerIndicator


public class MainActivity extends FragmentActivity {

    
    private String[] names = new String[]{"第一页","第二页","第三页","第四页","第五页","第六页","第七页","第八页","第九页"};
    private ArrayList<Fragment> fragments = new ArrayList<Fragment>();
    
    private TabPageIndicator mTabPageIndicator;
    private ViewPager mViewPager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTabPageIndicator = (TabPageIndicator) findViewById(R.id.indicator);
        mViewPager = (ViewPager) findViewById(R.id.pager);
        
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        fragments.add(new TestFragment1());
        
        MyViewPagerAdapter adapter = new MyViewPagerAdapter(getSupportFragmentManager());
        mViewPager.setAdapter(adapter);
        mTabPageIndicator.setViewPager(mViewPager);
    }

    class MyViewPagerAdapter extends FragmentPagerAdapter {

        public MyViewPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }
        
        @Override
        public CharSequence getPageTitle(int position) {
            return names[position % names.length];
        }
        
        @Override
        public int getCount() {
            return names.length;
        }

    }
    

}


public class TestFragment1 extends Fragment {
    
    @Override
    public View onCreateView(LayoutInflater inflater,
            ViewGroup container, Bundle savedInstanceState) {
        
        TextView text = new TextView(getActivity());
        text.setGravity(Gravity.CENTER);
        text.setText("哈哈");
        text.setTextSize(20 * getResources().getDisplayMetrics().density);
        text.setPadding(20, 20, 20, 20);

        LinearLayout layout = new LinearLayout(getActivity());
        layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        layout.setGravity(Gravity.CENTER);
        layout.addView(text);
        
        return layout;
    }
    
}

values里得style.xml样式

<style name="StyledIndicators" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="vpiTabPageIndicatorStyle">@style/CustomTabPageIndicator</item>
    </style>
    
    <style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator">
        <item name="android:background">@drawable/custom_tab_indicator</item>
        <item name="android:textAppearance">@style/CustomTabPageIndicator.Text</item>
        <item name="android:textColor">#FF555555</item>
        <item name="android:textSize">16sp</item>
        <item name="android:divider">@drawable/custom_tab_indicator_divider</item>
        <item name="android:dividerPadding">10dp</item>
        <item name="android:showDividers">middle</item>
        <item name="android:paddingLeft">8dp</item>
        <item name="android:paddingRight">8dp</item>
        <item name="android:fadingEdge">horizontal</item>
        <item name="android:fadingEdgeLength">8dp</item>
    </style>

    <style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
        <item name="android:typeface">monospace</item>
    </style>

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/StyledIndicators"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

就是这么简单


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值