0

我正在尝试构建一个应用程序,其中有 5 个选项卡,每个选项卡都加载自己的特定片段,我正在寻找一种在片段之间切换时如何更改选项卡图标的方法。

我尝试通过更改片段类中的图像来设置它,但是当我单击另一个选项卡时它仍然存在,而不是变回“非活动图像图标”

不使用操作栏,也不使用 ViewPager,这 5 个选项卡只是可点击的 ImageView,而不是 TabHost

谢谢你的帮助。

4

2 回答 2

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>
于 2013-10-02T17:57:27.243 回答
0

我假设您使用的ActionBar是选项卡,如果没有,请参阅此示例

您可以使用ActionBar.Tab.setIcon()来设置选项卡的图标。

于 2013-10-02T16:43:28.860 回答