其他分享
首页 > 其他分享> > android-如何使TabHost的形状非常规?

android-如何使TabHost的形状非常规?

作者:互联网

我需要为选项卡创建特定的形状.它应该看起来像这样

是否可以通过形状创建它?还是只是将其用作图像?

我还看到有些人在必须创建非常专业的选项卡时使用这种方式:他们只是在photoshop中创建所有选项卡的所有变体(已选中和未选中)(例如,tab1_selected,tab1_unselected等),但他们没有为每个选项卡创建图像,但是从文学上讲,它们创建整个TabWidget图像(例如,选择了tab1的图像,而未选择其他选项卡的图像),然后在选择某些选项卡时加载适当的图像.

>这是正确的方法吗?这样,您可以创建带有很厚的底部分隔线等的非常酷的标签.
>如何以这种方式加载整个TabWidget背景?通过background属性的常规方法还是其他方法?

解决方法:

使用以下代码,并且代码中的MyClass是编写代码的ClassName:

tabHost.setOnTabChangedListener(new OnTabChangeListener() {
        @Override
        public void onTabChanged(String tabId) {
            MyClass.setTabColor(tabHost);
        }
    });

public static void setTabColor(TabHost tabhost) {
    for(int i=0;i<tabhost.getTabWidget().getChildCount();i++) {
        tabhost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bg); //unselected
    }
    tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundResource(R.drawable.tab_bg_selected); // selected
}

标签:android-tabhost,tabwidget,android
来源: https://codeday.me/bug/20191102/1991799.html