我正在尝试构建一个应用程序,其中有 5 个选项卡,每个选项卡都加载自己的特定片段,我正在寻找一种在片段之间切换时如何更改选项卡图标的方法。
我尝试通过更改片段类中的图像来设置它,但是当我单击另一个选项卡时它仍然存在,而不是变回“非活动图像图标”
不使用操作栏,也不使用 ViewPager,这 5 个选项卡只是可点击的 ImageView,而不是 TabHost
谢谢你的帮助。
我正在尝试构建一个应用程序,其中有 5 个选项卡,每个选项卡都加载自己的特定片段,我正在寻找一种在片段之间切换时如何更改选项卡图标的方法。
我尝试通过更改片段类中的图像来设置它,但是当我单击另一个选项卡时它仍然存在,而不是变回“非活动图像图标”
不使用操作栏,也不使用 ViewPager,这 5 个选项卡只是可点击的 ImageView,而不是 TabHost
谢谢你的帮助。
从片段设置选项卡图标是非常糟糕的主意,您应该从 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>
我假设您使用的ActionBar
是选项卡,如果没有,请参阅此示例。
您可以使用ActionBar.Tab.setIcon()
来设置选项卡的图标。