TabHosts导航按钮实现自定义图片和文字

TabHosts导航按钮实现自定义图片和文字


主要代码

package com.cc.selftabhost;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

/**
 * @author cc
 * 1.TabHostActivity extends TabActivity
 * 2.	TabHost tabhost = getTabHost();
 * 3.需要介个页面就创建几个空的TabActivity,并在manifest注册
 * 4.几个tab导航按钮,就创建几个xml 按钮的布局,比如上边图片下边文字。图片的位置可以使用selector控制焦点获取变换图片
 * 
 * 【5-9 重复添加多个标签】
 * 5.创建标签  TabSpec tabSpec01 = tabhost.newTabSpec("tab1");
 * 6.填充导航按钮的布局 tabSpec01.setIndicator(View.inflate(TabHostMainActivity.this,R.layout.tab_main, null));
 * 7.Intent跳转
 * 8.标签 setContent  意图
 * 9.tabhost.addTab 加载  标签。
 *
 */
public class TabHostMainActivity extends TabActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tabhost_main);

		// 继承 tabActivity,得到tabHost
		TabHost tabhost = getTabHost();
		// 定义第一个tab 导航按钮
		TabSpec tabSpec01 = tabhost.newTabSpec("tab1");
		// 设置tab 导航按钮的布局
		tabSpec01.setIndicator(View.inflate(TabHostMainActivity.this,
				R.layout.tab_main, null));
		// 添加意图跳转
		Intent intent1 = new Intent(TabHostMainActivity.this,
				TabMainActivity.class);
		// 设置标题对应的内容
		tabSpec01.setContent(intent1);
		// 添加到tab中
		tabhost.addTab(tabSpec01);

		// =================================================================================================
		TabSpec spec2 = tabhost.newTabSpec("Item2");
		spec2.setIndicator(View.inflate(TabHostMainActivity.this,
				R.layout.tab_class, null));
		Intent intent2 = new Intent(TabHostMainActivity.this, TabClassActivity.class);
		spec2.setContent(intent2);
		tabhost.addTab(spec2);
		// ===================================================================================================
		TabSpec spec3 = tabhost.newTabSpec("Item3");
		spec3.setIndicator(View.inflate(TabHostMainActivity.this,
				R.layout.tab_ludao, null));
		Intent intent3 = new Intent(TabHostMainActivity.this, TabAboutActivity.class);
		spec3.setContent(intent3);
		tabhost.addTab(spec3);
		// =========================================================
		TabSpec spec4 = tabhost.newTabSpec("Item4");
		spec4.setIndicator(View.inflate(TabHostMainActivity.this,
				R.layout.tab_mine, null));
		Intent intent4 = new Intent(TabHostMainActivity.this, TabMineActivity.class);
		spec4.setContent(intent4);
		tabhost.addTab(spec4);

	}

}


<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
         >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@android:id/tabs"
            android:layout_alignParentTop="true" >
        </FrameLayout>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" >
        </TabWidget>
    </RelativeLayout>

</TabHost>


DEMO下载地址:http://download.csdn.net/detail/flyingsir_zw/9526597



上一篇:37. moquette自定义插件编译打包


下一篇:【开发课堂】支付宝小程序里如何使用自定义字体?