TabLayout 导航

来源:互联网 发布:数据库设计工具 编辑:程序博客网 时间:2024/05/17 02:14

#横向滑动菜单之TabLayout

 

添加依赖

compile 'com.android.support:design:26.0.0-alpha1' 新版本

* compile 'com.android.support:design:25.3.1' 旧版本  会报错 导一个

 

* 报错

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).

Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:41 to override.

* 由于版本不一样...所以需要修改当前应用的build.grandle文件

compileSdkVersion 25

targetSdkVersion 25

compile 'com.android.support:appcompat-v7:25.+'

 

1.单独使用,不结合ViewPager:


xmlns:app="http://schemas.android.com/apk/res-auto"  添加命名空间 根部句



app:tabMode="scrollable"app:tabGravity="center"app:tabSelectedTextColor="@color/colorPrimaryDark"app:tabTextColor="@color/colorPrimary"app:tabIndicatorColor="@color/colorAccent"



//tab可滚动

tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);

* app:tabMode="scrollable" scrollable是可以横行滚动,fixed是指固定个数

//tab居中显示

tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);

* app:tabGravity="center" 对齐方式,可选fill和center:居中显示      和tabmode可以设置内容平铺屏幕

//tab的字体选择器,默认黑色,选择时红色

tabLayout.setTabTextColors(Color.BLACK, Color.RED);

* app:tabSelectedTextColor="@color/colorPrimaryDark" 选择tab的文本颜色

* app:tabTextColor="@color/colorPrimary" 普通tab字体颜色

//tab的下划线颜色,默认是粉红色

tabLayout.setSelectedTabIndicatorColor(Color.BLUE);

* app:tabIndicatorColor="@color/colorAccent" 设置tab下划线的颜色


tab文字默认选中 的网址 和 方法

 http://blog.csdn.net/qq_16628781/article/details/62430662

TabLayout.getTabAt(index).select()


//添加tab

tabLayout.addTab(tabLayout.newTab().setText("TAB" + i));

 

//1.设置tab的点击监听器...

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()

* 选中onTabSelected

选中的时候可以切换fragment显示(repalce)

* 未选中onTabUnselected

* 重新再次选中onTabReselected

 

2.结合ViewPager使用

//给ViewPager设置适配器

mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

* public CharSequence getPageTitle(int position) {//显示tab上的名字

 

//将ViewPager关联到TabLayout上

mTabLayout.setupWithViewPager(mViewPager);

 

* 设置监听,注意:如果设置了setOnTabSelectedListener,则setupWithViewPager不会生效,因为setupWithViewPager内部也是通过设置该监听来触发ViewPager的切换的




 <android.support.design.widget.TabLayout        android:id="@+id/tabs"      //控件的ID        android:layout_width="wrap_content"   //控件的宽        android:layout_height="wrap_content"  //控件的高        app:tabBackground="@color/line_view"  //整个TabLayout的背景颜色        app:tabContentStart="20dp"  //TabLayout开始的位置的偏移量         app:tabIndicatorColor="@color/bule_zhu" //指示器下标的颜色        app:tabIndicatorHeight="3dp" //指示器下标的高度(高度为0,相当于没有下标)        app:tabMode="scrollable"  //Tab的模式(scrollable-滑动,fixed-固定)        app:tabSelectedTextColor="@color/bule_zhu" //选中字体的颜色        app:tabTextColor="@color/blue" //未选中字体的颜色        app:tabGravity="center"   // 整个TabLayout居中显示(如果是fill,则是充满)    app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"  // tablayout上字体的大小        app:tabMaxWidth="100dp"  //最大的tab宽度        app:tabMinWidth="20dp"  //最小的tab宽度        />

 

* 参考:http://www.jb51.net/article/120336.htm    或  http://blog.csdn.net/lengxuechiwu1314/article/details/71079546

 

 

####horizatalScrollView切换

参照:

* http://www.cnblogs.com/ldou/p/5322662.html

原创粉丝点击