for (int i = 0; i < tabWidget.getChildCount(); i++) {
/**
* 此方法是为了去掉系统默认的色白的底角 在 TabWidget中mBottomLeftStrip、mBottomRightStrip
* 都是私有变量,但是我们可以通过反射来获取 由于还不知道Android 2.2的接口是怎么样的,现在先加个判断好一些
*/
if (Integer.parseInt(Build.VERSION.SDK) <= 5)
{
}
else
{
// 貌似也可以去掉系统默认的色白的底角
Constant.tabHost.setPadding(Constant.tabHost.getPaddingLeft(),
Constant.tabHost.getPaddingTop(), Constant.tabHost
.getPaddingRight(), Constant.tabHost
.getPaddingBottom()-1 );//原文是-5,我这边试了一下,-1最好。
}
View v = tabWidget.getChildAt(i);
// 设置tab背景颜色
v.setBackgroundResource(R.drawable.tab_indicator);
// 设置tab中标题文字的颜色,不然默认为黑色
XmlResourceParser xpp = getResources().getXml(
R.color.tab_font_selector);
try
{
ColorStateList csl = ColorStateList.createFromXml(
getResources(), xpp);
TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(
android.R.id.title);
tv.setTextColor(csl);
}
catch (Exception e)
{
}
}
转载于:https://blog.51cto.com/chenchuntong/859914