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