`
beyondAndroid
  • 浏览: 5627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

tabhost取消默认的白底色

 
阅读更多
http://www.cnblogs.com/zhaolong_chn/archive/2011/12/18/2291872.html
http://www.cnblogs.com/wader2011/archive/2011/10/13/2209668.html
http://www.cnblogs.com/zhukoo/archive/2011/09/30/2196878.html
package com.hg.beyond.demo.activity;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TextView;

import com.hg.beyond.demo.R;

public class PhoneManagerHomeActivity extends TabActivity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.phone_manager_home);
		setTheme(android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
		launchTabHost();
	}

	private void launchTabHost() {

		final TabHost tabHost = this.getTabHost();
		
		
		//注册监听器调用方法改变底色
		tabHost.setOnTabChangedListener(new OnTabChangeListener() {

			@Override
			public void onTabChanged(String tabId) {
				// TODO Auto-generated method stub
				updateTabBackground(tabHost);

			}
		});
		View callView = LayoutInflater.from(this).inflate(
				R.layout.phone_manager_tab_item, null);

		View msgView = LayoutInflater.from(this).inflate(
				R.layout.phone_manager_tab_item, null);

		View contactView = LayoutInflater.from(this).inflate(
				R.layout.phone_manager_tab_item, null);

		View favoritView = LayoutInflater.from(this).inflate(
				R.layout.phone_manager_tab_item, null);

		TextView callLable = (TextView) callView
				.findViewById(R.id.tab_item_lable);
		ImageView callImage = (ImageView) callView
				.findViewById(R.id.tab_item_icon);
		callLable.setText(getString(R.string.tab_call_txt));
		callImage.setImageResource(R.drawable.call_tab_item_selector);

		TextView contactLable = (TextView) contactView
				.findViewById(R.id.tab_item_lable);
		ImageView contactImage = (ImageView) contactView
				.findViewById(R.id.tab_item_icon);
		contactLable.setText(getString(R.string.tab_contact_txt));
		contactImage.setImageResource(R.drawable.contact_tab_item_selector);

		TextView msgLable = (TextView) msgView
				.findViewById(R.id.tab_item_lable);
		ImageView msgImage = (ImageView) msgView
				.findViewById(R.id.tab_item_icon);
		msgLable.setText(getString(R.string.tab_msg_txt));
		msgImage.setImageResource(R.drawable.msg_tab_item_selector);

		TextView favoritLable = (TextView) favoritView
				.findViewById(R.id.tab_item_lable);
		ImageView favoritImage = (ImageView) favoritView
				.findViewById(R.id.tab_item_icon);
		favoritLable.setText(getString(R.string.tab_fav_txt));
		favoritImage.setImageResource(R.drawable.fav_tab_item_selector);

		tabHost.addTab(tabHost.newTabSpec("call").setIndicator(callView)
				.setContent(new Intent(this, CallActivity.class)));

		tabHost.addTab(tabHost.newTabSpec("msg").setIndicator(msgView)
				.setContent(new Intent(this, MsgActivity.class)));

		tabHost.addTab(tabHost.newTabSpec("contact").setIndicator(contactView)
				.setContent(new Intent(this, ContactActivity.class)));

		tabHost.addTab(tabHost.newTabSpec("favorit").setIndicator(favoritView)
				.setContent(new Intent(this, FavoritActivity.class)));
		tabHost.setCurrentTab(0);
	}

	/**
	 * 更新Tab标签的底色图
	 * 
	 * @param tabHost
	 */
	private void updateTabBackground(final TabHost tabHost) {
		for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
			View vvv = tabHost.getTabWidget().getChildAt(i);
			if (tabHost.getCurrentTab() == i) {
				
				// 选中后的背景
				vvv.setBackgroundDrawable(getResources().getDrawable(
						R.drawable.cm_tabwidget_select_bg));
			} else {
				// 非选择的背景
			 vvv.setBackgroundDrawable(null);
			}
		}
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics