我有以下代码:
\\Disable
tabHost.getTabWidget().getChildTabViewAt(3).setEnabled(false);
tabHost.getTabWidget().getChildTabViewAt(3).setBackgroundColor(Color.rgb(102, 102, 102));
和
\\Enable
tabHost.getTabWidget().getChildTabViewAt(3).setEnabled(true);
\\HOWTO?
当我再次启用它时,如何将禁用选项卡的颜色恢复为原始颜色(使用渐变和填充)?
答案 0 :(得分:3)
如果您使用Drawable作为背景,您可以使用:
savedBackground = tabHost.getTabWidget().getChildTabViewAt(3).getBackground();
// Disable your tab
一旦你启用它:
tabHost.getTabWidget().getChildTabViewAt(3).setEnabled(true);
tabHost.getTabWidget().getChildTabViewAt(3).getChildTabViewAt(3).setBackgroundDrawable (savedBackground );
答案 1 :(得分:1)
您无法从原始启用的标签中提取“颜色”值,因为它使用了Drawable。但是,我不相信有什么阻止你在Drawable和Color之间切换启用/禁用状态。所以我的建议是使用View.getBackground()从选项卡View中存储原始背景Drawable,当再次启用选项卡时,您可以将存储的drawable传递给View.setBackgroundDrawable(Drawable)。