TabLayout实现每个tab有一个不同的图片,选中改变图片
来源:互联网 发布:python 查看字节码 编辑:程序博客网 时间:2024/05/17 03:50
自定义tab,背景选择器
如下:
1、每个tab里面的图片的布局,使用textview,注意不能用button,也不能设置textview的clickable=”true”,否则tablayout就不能选择了
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/main_tv" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
主界面:
<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 android:id="@+id/main_tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/orange"/> </LinearLayout>
背景选择器,我这有四个tab,每个的图片都不相同,但是格式相同,所以这里列出一个:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@mipmap/ic_home_home_focus"/> <item android:state_selected="false" android:drawable="@mipmap/ic_home_home_normal"/></selector>
最后主界面代码:
//加载自定义的布局
for (int i = 0; i < 4; i++) {
TabLayout.Tab tab=mainTablayout.newTab();
View view= LayoutInflater.from(this).inflate(R.layout.main_top_layout,null);
TextView tv= (TextView) view.findViewById(R.id.main_tv);
tv.setBackgroundResource(bgs[i]);
tab.setCustomView(view);
if (i==0)
tv.setFocusable(true);
mainTablayout.addTab(tab);
}
监听事件,tab选中改变的时候,改变图片:
mainTablayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { tab.getCustomView().findViewById(R.id.main_tv).setFocusable(true); } @Override public void onTabUnselected(TabLayout.Tab tab) { tab.getCustomView().findViewById(R.id.main_tv).setFocusable(false); } @Override public void onTabReselected(TabLayout.Tab tab) { } });
如图:
想要实现如上的方法,很简单:
搞定。
0 1
- TabLayout实现每个tab有一个不同的图片,选中改变图片
- TabLayout的使用,设置tab图片
- 一个点击 图片选中,改变图片样式, 传数据到后台的一个例子
- Android中单选框选中改变图片的示例
- Androidg 改变CheckBox下的选中与未选中图片
- tabbar未选中和选中时设置不同的图片
- android改变图片选中颜色
- Android实现改变一个图片的像素值
- Android 中TabLayout实现Tab自定义和选中文字加粗
- 如何实现在一个界面上点击不同的位置,会有跳转到不同的Activity上(假设背景是一个图片)
- android listView 改变选中行的 字体颜色和 图片
- TabLayout+Viewpager+Fragment+选中的Tab突出显示
- 自定义一个好看点的TabLayout.Tab
- 可自定义图片指示器并支持自定义Tab宽度的TabLayout
- 可自定义图片指示器并支持自定义Tab宽度的TabLayout
- 选项卡js 改变图片的路径来实现点击和未点击的不同效果
- Android ImageButton 选中与不选中 不同状态之间显示不同图片的方式
- TabLayout:另一种Tab的实现方式
- JSPWiki中文乱码问题
- Linux - C进程间通信(预习内容六)
- [LeetCode-Java]38. Count and Say
- Android图表绘制之MPAndroidChart
- 大山中学某模拟赛
- TabLayout实现每个tab有一个不同的图片,选中改变图片
- 1~n的整数中1的个数
- Git和SVN的区别
- day7_表单
- 【UVA 11426】 【求sum(gcd(i,j),1<=i<j<=n)1<n<4000001】
- 2016年9月23日19:49:33
- android studio设置成eclipse 快捷键后,平常经常用的快捷键
- 静态链接库与动态链接库
- 2000年分区联赛普级组之三 乘积最大