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 and


主要代码

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



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章