WEB开发网
开发学院手机开发Android 开发 Android TabActivity的一个修改标题问题 阅读

Android TabActivity的一个修改标题问题

 2010-09-10 01:01:00 来源:WEB开发网   
核心提示:final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);tv.setTextColor(this.getResources().getColorStateList(android.R.color.wh

final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);

tv.setTextColor(this.getResources().getColorStateList(android.R.color.white));

/**

* 此方法是为了去掉系统默认的色白的底角

*

* 在 TabWidget中mBottomLeftStrip、mBottomRightStrip

* 都是私有变量,但是我们可以通过反射来获取

*

* 由于还不知道Android 2.2的接口是怎么样的,现在先加个判断好一些

*/

if (Float.valueOf(Build.VERSION.RELEASE) <= 2.1) {

try {

mBottomLeftStrip = tabWidget.getClass().getDeclaredField ("mBottomLeftStrip");

mBottomRightStrip = tabWidget.getClass().getDeclaredField ("mBottomRightStrip");

if(!mBottomLeftStrip.isAccessible()) {

mBottomLeftStrip.setAccessible(true);

}

if(!mBottomRightStrip.isAccessible()){

mBottomRightStrip.setAccessible(true);

}

mBottomLeftStrip.set(tabWidget, getResources().getDrawable (R.drawable.no));

mBottomRightStrip.set(tabWidget, getResources().getDrawable (R.drawable.no));

} catch (Exception e) {

e.printStackTrace();

}

} else {

/**

* 不做任何处理

*/

}

View vvv = tabWidget.getChildAt(i);

if(tabs.getCurrentTab()==i){

vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button));

}

else {

vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar));

}

}

/**

* 当点击tab选项卡的时候,更改当前的背景

*/

tabs.setOnTabChangedListener(new OnTabChangeListener(){

@Override

public void onTabChanged(String tabId) {

// TODO Auto-generated method stub

for (int i =0; i < tabWidget.getChildCount(); i++) {

View vvv = tabWidget.getChildAt(i);

if(tabs.getCurrentTab()==i){

vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_button));

}

else {

vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.bar));

}

}

}});

}

}

上一页  1 2 

Tags:Android TabActivity 一个

编辑录入:coldstar [复制链接] [打 印]
赞助商链接