【问题标题】:Android tabactivity - how to change icon image on selecting a tabAndroid tabactivity - 如何在选择标签时更改图标图像
【发布时间】:2013-06-18 17:30:18
【问题描述】:

在我的 tabactivity 中,我通过创建一个 ImageView 并将其传递给 setIndicator 方法来显示从数据库中获取的图标。每个选项卡只有一个图像,所以我想知道是否有办法在选择选项卡时仅更改图像的颜色(而不是更改选项卡的颜色)?选择选项卡时,是否可以隐藏在选项卡底部绘制的灰线? 任何帮助表示赞赏..谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    隐藏灰线:

    yourTabWidget.setStripEnabled(false);
    

    为每个标签状态设置自定义图像:

    tabitemicon.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- When selected, use grey -->
        <item android:drawable="@drawable/orange"
              android:state_selected="true" />
        <!-- When not selected, use white-->
        <item android:drawable="@drawable/white" />
    </selector>
    

    Java 代码:

    tabHost = getTabHost():
    tabHost.newTabSpec("test").setIndicator("My Tab Title",
                              res.getDrawable(R.drawable.tabitemicon))
                          .setContent(someIntent);
    

    【讨论】:

    • 感谢您的快速回复。我忘了提到我正在针对 Android2.1 构建项目,并且我相信“tabStripEnabled”是在 2.2 中引入的。有没有办法在 2.1 中实现这一点?此外,我从数据库中获取我的图标并动态创建一个图像视图并将其传递给 setIndicator()。我假设您提供的代码只有在我从可绘制文件夹中获取图像时才有效?
    • 就隐藏灰线而言,如果您无法隐藏它,那么我建议您以某种方式将其包含在您的设计中。就像将选项卡的背景设置为条形背景一样,然后在选项卡徽标中包含边框以指示分离。这是以前回答的问题的链接,以编程方式声明选择器。希望有帮助。 stackoverflow.com/questions/4697528/…
    猜你喜欢
    • 1970-01-01
    • 2015-04-23
    • 2019-01-10
    • 1970-01-01
    • 2010-12-16
    • 2020-07-10
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    相关资源
    最近更新 更多