WEB开发网
开发学院手机开发Android 开发 Android 在标签页题目上加图标 阅读

Android 在标签页题目上加图标

 2010-03-13 07:12:00 来源:WEB开发网   
核心提示:android做的没有iphone好看,现在都2.1版本了,Android 在标签页题目上加图标,依然是如此,使用android的api,这就难办了,因为android本身没有提供这样的api调用,如果想在标签页的题目上带个图片,也只能是这样了

android做的没有iphone好看,现在都2.1版本了,依然是如此。

使用android的api,如果想在标签页的题目上带个图片,也只能是这样了。

image

这里使用了类似这样的代码:

tabHost.addTab(tabHost.newTabSpec("landscapes").setIndicator("风景",

getResources().getDrawable(R.drawable.a2))

其中a2是放置在res/drawable目录下的图形文件,比如a2.gif。

如果想要更复杂的布局,比如图片和文字是在同一行的,那么,就需要用到这个方法:

setIndicator(View view)

这样问题就复杂了,需要自定义布局,背景和格式,不过也不算难实现。

那么,如果想选择的tab图标是彩色的,未选中的图标是灰色的呢?也就是说想让图标是变化的。这就难办了。因为android本身没有提供这样的api调用。

里面提供了这样的代码,据说是可行的:

tabHost.setOnTabChangedListener(new OnTabChangeListener() {

public void onTabChanged(String tabId) {

if (TAB_MAP.equals(tabId)) {

ImageView iv = (ImageView)tabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.icon);

iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_map_black));

iv = (ImageView)tabHost.getTabWidget().getChildAt(1).findViewById(android.R.id.icon);

iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_list_white));

} else if (TAB_LIST.equals(tabId)) {

ImageView iv = (ImageView)tabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.icon);

iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_map_white));

iv = (ImageView)tabHost.getTabWidget().getChildAt(1).findViewById(android.R.id.icon);

iv.setImageDrawable(getResources().getDrawable(R.drawable.tab_list_black));

}

}

});

Tags:Android 标签 题目

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