【问题标题】:Change Android TabWidget bottom bar color更改 Android TabWidget 底栏颜色
【发布时间】:2011-05-31 01:57:25
【问题描述】:

如何更改 TabWidget 底栏的颜色?我已成功更改选项卡背景颜色,但底部栏仍然是灰色/橙色,我在 Android 文档和源代码中找不到与此相关的任何信息。谢谢。

【问题讨论】:

  • 看看这个joshclemm.com/blog/?p=136@Kenny Ma 你会有一个想法
  • 我以前看过这个,只是再读一遍,但没有看到关于底部条的任何内容。我错过了什么吗?

标签: android tabwidget


【解决方案1】:

见:

启用/禁用此行: tabHost.getTabWidget().setStripEnabled(boolean);

为这条线在左边设置drawable: tabHost.getTabWidget().setLeftStripDrawable(drawable);

为该行在左侧设置资源 tabHost.getTabWidget().setLeftStripDrawable(resId);

为这条线在右边设置drawable: tabHost.getTabWidget().setRightStripDrawable(drawable);

为这一行设置资源: tabHost.getTabWidget().setRightStripDrawable(resId);

【讨论】:

    【解决方案2】:

    我猜“底栏”是指分隔选项卡和内容的可选水平线。查看the TabWidget API doc 中描述的各种tabStrip 属性。您可以为条带的左右部分设置不同的可绘制对象。

    【讨论】:

    • 谢谢。我曾尝试使用“android:tabStripLeft”和“android:tabStripRight”,但出现“在包 'android' 中找不到属性 'tabStripRight' 的资源标识符”错误。有什么想法吗?
    • 已解决。将我的构建目标从 2.1 更改为 2.2 解决了“找不到资源......”问题。谢谢!
    【解决方案3】:
    public void setTabColor(TabHost tabhost) { 
         int totalTabs = tabhost.getTabWidget().getChildCount();
         for(int i=0;i<totalTabs;i++) {
            if(tabHost.getTabWidget().getChildAt(i).isSelected()){
                tabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_selector); //selector xml for selected
                tabHost.getTabWidget().setStripEnabled(true);
                tabHost.getTabWidget().setRightStripDrawable(R.drawable.tab_strip_thin); 
                tabHost.getTabWidget().setLeftStripDrawable(R.drawable.tab_strip_thin);
            }
         }
        } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多