40.TabLayout的简单使用
来源:互联网 发布:关于淘宝的ppt 编辑:程序博客网 时间:2024/04/27 21:20
转载请注明出处 http://blog.csdn.net/qq_31715429/article/details/51889498
本文出自:猴菇先生的博客
TabLayout是android.support.design包下的一个空间,可以轻松实现选项卡标签和ViewPager的联动效果
1.在build.gradle中:
...dependencies { ... compile 'com.android.support:design:24.0.0-beta1' ...}
2.要使用这个控件,Theme需要是AppCompat主题
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"></style>
3.activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.TabLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="@dimen/base_textline_h" android:background="@color/base_white" app:tabIndicatorColor="@color/product_detail_tab_indicator"//指示器颜色 app:tabMaxWidth="0dp"//解决在平板上fixed模式不铺满的问题 app:tabSelectedTextColor="@color/product_detail_tab_indicator"//选中的文字颜色 app:tabTextAppearance="@style/MyTabLayoutTextAppearance"//自定义标签字体大小 app:tabTextColor="@color/product_detail_tab_text" />//默认的文字颜色 <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
4.自定义标签字体大小
<style name="MyTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> <item name="android:textSize">@dimen/tab_layout_text</item></style>
5.MainActivity.java
public class MainActivity extends AppCompatActivity{ private TabLayout mTabLayout; private ViewPager mViewPager; private TabFragmentPagerAdapter mPagerAdapter; private String[] mTabArr = {"a", "b", "c"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTabLayout = (TabLayout) findViewById(R.id.tab_layout); mViewPager = (ViewPager) findViewById(R.id.viewPager); mTabLayout.setTabMode(TabLayout.MODE_FIXED);//铺满屏幕,适用于数据量少的 //mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);//超出屏幕可滚动,适用于数据量多的 for(int i = 0 ; i < mTabArr.length ; i++){ mTabLayout.addTab(mTabLayout.newTab().setText(mTabArr[i])); } mPagerAdapter = new TabFragmentPagerAdapter(getSupportFragmentManager()); mViewPager.setAdapter(mPagerAdapter); mTabLayout.setupWithViewPager(mViewPager);//TabLayout与ViewPager绑定联动 }}
private class TabFragmentPagerAdapter extends FragmentPagerAdapter { public TabFragmentPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fragment = new MainFragment(); Bundle bundle = new Bundle(); bundle.putString(INDEX, position); fragment.setArguments(bundle); return fragment; } @Override public int getCount() { return mTabArr.length; } //不重写此方法TabLayout不显示标签名 @Override public CharSequence getPageTitle(int position) { return mTabArr[position]; }}
0 0
- 40.TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- Tablayout的简单使用
- TabLayout的简单使用
- Tablayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout的简单使用
- TabLayout简单的使用
- Android MediaPlayer分析
- 18javaScript与表单
- 使用std::copy以及ostream_iterator快速对数组操作
- [华为OJ] 判断两个IP是否属于同一子网
- java8之行为参数化(函数为值化)
- 40.TabLayout的简单使用
- CentOS下JDK安装
- 问题小记
- HDU 1254 推箱子 (BFS + DFS)
- STL关联式容器之总览
- 圆形图片CircleImageView的使用和分析
- 19javascript与框架
- Python从入门到放弃(二):核心数据类型
- mysql复合索引、普通索引总结