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>
就是这么简单
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>
就是这么简单
相关文章推荐
- Android-ViewPagerIndicator框架使用——TabPageIndicator以及样式的修改
- Android-ViewPagerIndicator框架使用——TabPageIndicator
- Android-ViewPagerIndicator框架使用——TabPageIndicator(二)
- Android-ViewPagerIndicator框架使用——TabPageIndicator
- Android自定义控件---TabIndicatord选项卡按钮(可用于ViewPager,使用简单)
- Android-ViewPagerIndicator框架使用——CirclePageIndicator
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android-ViewPagerIndicator框架使用——CirclePageIndicator
- Android ViewPager 和 TabPageIndicator 的限制滑动和禁用点击
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android-ViewPagerIndicator框架使用——UnderlinePageIndicator
- Android Tab类型主界面 Fragment+TabPageIndicator+ViewPager
- Android的使用ViewPager简单实例【类似tab翻页】
- Android-ViewPagerIndicator框架使用——LinePageIndicator
- Android-ViewPagerIndicator框架使用——TitlePageIndicator