您的位置:首页 > 其它

设置tablayout选中文字颜色和背景图片

2017-04-11 20:36 344 查看
很想爆粗口!!!!!妈的,我的tablayout为什么在布局文件下面写的时候就是不好用的,改变什么都是不好用的!!!没办法只能用代码的方式来粗暴的解决问题了。。。。一下是解决的关键问题的代码,,,,直接撸代码

首先,,Tablayout的布局是在FragmentPagerAdapter里面进行写的,tablayout获取自己的布局就是在这个方法中写的

public View getTabView(int position) {
View v = LayoutInflater.from(context).inflate(R.layout.bottom_bar_item, null);
imageView = (ImageView) v.findViewById(R.id.item_picutre);
textView1 = (TextView) v.findViewById(R.id.item_text);
imageView.setBackgroundResource(ints[position]);
textView1.setText(str[position]);
if (position == 0) {
textView1.setTextColor(v.getResources().getColor(R.color.colorAccent));
}
return v;
}


在Activity中或者Fragment中进行对于tablayout的布局文件的操作,,并且这里强调一下,,tablayout的默认是第一个,所以在这个适配器里面进行了定义,定义两个数组,一个是String的字符串的,一个是图片的,,如图所示


这里面的预览图中可以看到,,第一个的位置是我给它默认了选中的按钮的图片

然后重点来了

tablayout有一个setONTabSelectedListener的方法,我们需要做的就是对象调用方法

代码如下所示


看到最左面的缩略图了么,,,选中的图标和未选中的图标,还有文字被选中的颜色,这里面在java代码中设置颜色必须是通过getResources的方法进行的到的

最后上一下效果图,感觉很完美的感觉





最后tablayout是在Activity中如何调用的是下面的方法

tabLayout.setupWithViewPager(viewPager);
for (int i = 0; i < tabLayout.getTabCount(); i++) {
tabLayout.getTabAt(i).setCustomView(fragmentAdapter.getTabView(i));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: