在android自定义列表的实现一文中讲述了列表的实现,在这里进行一下修饰,主要是颜色和图片的添加。前后效果对比:
主要是背景色的改变和添加了小图标。
在这里只写一下TabHost类表标题栏背景色的改变。
主要方法是通过添加侦听器,来判断当前是那个TabWidget,可以得到相应的视图和相应视图上的图标,从而改变背景色和图标。
主要代码:
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
TabWidget tabWidget = (TabWidget) tabHost.getTabWidget();
if (tabId.equals("tab1")) {
View vie = (View) tabWidget.getChildAt(0);
vie.setBackgroundResource(R.drawable.back);
View vie1 = (View) tabWidget.getChildAt(1);
vie1.setBackgroundResource(R.drawable.tabhost);
ImageView iv = (ImageView) vie
.findViewById(android.R.id.icon);
iv.setImageDrawable(getResources().getDrawable(
R.drawable.menu2));
ImageView iv1 = (ImageView) vie1
.findViewById(android.R.id.icon);
iv1.setImageDrawable(getResources().getDrawable(
R.drawable.vod2));
}
if (tabId.equals("tab2")) {
View vie = (View) tabWidget.getChildAt(1);
vie.setBackgroundResource(R.drawable.back);
View vie1 = (View) tabWidget.getChildAt(0);
vie1.setBackgroundResource(R.drawable.tabhost);
ImageView iv = (ImageView) vie
.findViewById(android.R.id.icon);
iv.setImageDrawable(getResources().getDrawable(
R.drawable.vod));
ImageView iv1 = (ImageView) vie1
.findViewById(android.R.id.icon);
iv1.setImageDrawable(getResources().getDrawable(
R.drawable.menu));
}
}
});
其源代码:http://easymorse.googlecode.com/svn/tags/android.customer.player-0.5