我正在尝试构建一个应用程序,其中我有5个选项卡,每个选项卡加载自己的特定片段,我正在寻找一种方法,当我在片段之间切换时如何更改选项卡图标。
我尝试通过更改片段类中的Image来设置它,但是当我单击其他选项卡时它仍然保留,而不是更改回“not active image icon”
不使用操作栏,也不使用ViewPager,这5个标签只是可点击的ImageViews,而不是TabHost
感谢您的帮助。
答案 0 :(得分:0)
我假设您使用ActionBar
标签,如果没有,请参阅this example。
您可以使用ActionBar.Tab.setIcon()
设置标签的图标。
答案 1 :(得分:0)
从片段设置标签图标是非常糟糕的,您应该从Activity设置图标(例如onCreate方法)。您可能需要为每个选项卡图标创建选择器(选中和默认图标)在那里阅读选择器: http://developer.android.com/guide/topics/resources/drawable-resource.html
您为每个标签创建1个文件。例如ic_tabs_first.xml。你有两个图标,一个是ic_tabs_first_default.png,另一个是ic_tabs_first_selected.png。 你的ic_tabs_first.xml应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/ic_tabs_first_selected" /> <!-- pressed -->
<item android:state_selected="true"
android:drawable="@drawable/ic_tabs_first_selected" /> <!-- selected -->
<item android:drawable="@drawable/ic_tabs_first_default" /> <!-- default -->
</selector>