很抱歉,如果之前有人问过这个问题。
我想在标签布局的标签中选择图标。我怎么能用选择器做到这一点?
我的应用程序中有两个选项卡上的选项卡应该更改。
答案 0 :(得分:5)
<强> 1。创建自定义标签选择器 - 您需要添加状态选择true和false
--data "{\"text\":\"hello world\"}" \
<强> 2。添加自定义选项卡选择器drawable作为tabItem
的图标 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/home_fill"
android:state_selected="true"/>
<item android:drawable="@drawable/home_line"
android:state_selected="false"/>
</selector>
在Android版本7.1.1上测试了代码
答案 1 :(得分:3)
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tab.setIcon(selectedImageResources[tab.getPosition()]);
getSupportActionBar().setTitle(pageTitles[tab.getPosition()]);
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.setIcon(imageResources[tab.getPosition()]);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
答案 2 :(得分:3)
请试试这个
tabLayout.getTabAt(0).setIcon(R.drawable.selector);
答案 3 :(得分:2)
要制作标签选择器和取消选择器,您可以使用这种方式
1.创建自定义视图并对其进行充气:
id="lst-ib"
2.创建可绘制选择器
tab_home_selector.xml
id="gs_htifo"
3.插入标签:
private View getTabView(int imgDrawable) {
View view = getLayoutInflater().inflate(R.layout.tab_view, null);
ImageView imgTab = (ImageView) view.findViewById(R.id.imgTab);
imgTab.setImageDrawable(getResources().getDrawable(imgDrawable));
return view;
}
对于单个标签,您可以创建单独的可绘制选择器并添加到标签
答案 4 :(得分:0)