在我的Android应用程序中,我有一个TabHost
,其中包含多个标签。要创建每个选项卡,我调用一个名为createTabView
的函数,如下所示:
private static View createTabView(final Context context, final String text, int layoutId) {
View view = LayoutInflater.from(context).inflate(layoutId, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
if (tv != null) {
tv.setText(text.toUpperCase(Locale.getDefault()));
if(text.toLowerCase().equals("special")){
tv.setTextColor(R.color.gold);
}
}
return view;
}
如果字符串是"特殊"上面的内容基本上会将相应的文字添加到TextView
并将TextView
的颜色加到黄金上。
我可以确认R.color.gold
绝对是黄金。我在很多地方都用过它。我也尝试过系统颜色,但它们也不起作用。它总是显示为深蓝色。
有什么想法吗?
答案 0 :(得分:1)
使用 -
textView.setTextColor(getResources().getColor(R.color.gold));
答案 1 :(得分:0)
使用此代码
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#colorcode"));
TextView tv = (TextView) tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs
tv.setTextColor(Color.parseColor("#colorcode"));
}
tabHost.getTabWidget().setCurrentTab(0);
tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#colorcode"));
TextView tv = (TextView) tabHost.getCurrentTabView().findViewById(android.R.id.title); //for Selected Tab
tv.setTextColor(Color.parseColor("#colorcode"));
}
和这个方法
@Override
public void onTabChanged(String arg0) {
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#colorcode"));
TextView tv = (TextView) tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs
tv.setTextColor(Color.parseColor("#colorcode"));
}
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#colorcode"));
TextView tv = (TextView) tabHost.getCurrentTabView().findViewById(android.R.id.title); //for Selected Tab
tv.setTextColor(Color.parseColor("#colorcode"));
}