您的位置:首页 > 移动开发 > Android开发

android viewpager和tabpageIndicator简单使用

2016-09-06 18:02 483 查看
这里附上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>

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