无论如何处理片段OnClick更改图像

时间:2013-10-02 16:26:10

标签: android android-fragments

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

我尝试通过更改片段类中的Image来设置它,但是当我单击其他选项卡时它仍然保留,而不是更改回“not active image icon”

不使用操作栏,也不使用ViewPager,这5个标签只是可点击的ImageViews,而不是TabHost

感谢您的帮助。

2 个答案:

答案 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>