TabRadioDemo实现tabhost与RadioBox的结合

     这篇文章中我们实现了tabhost和RadioBox的结合,现在的好多android的应用都使用这样的方法,具体实现的代码如下:

首先呢先看一下布局

tab_radio.xml

<?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="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
		<FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0.0dip"
            android:layout_weight="1.0" />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.0"
            android:visibility="gone" />

        <RadioGroup
            android:id="@+id/main_radio_group"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/main_rb_home"
                style="@style/main_tab_bottom"
                android:background="@drawable/main_rb_selector"
                android:drawableTop="@drawable/rb_home_selector"
                android:text="主页"
             android:textColor="@color/grey"
                android:checked="true" />

            <RadioButton
                android:id="@+id/main_rb_search"
                style="@style/main_tab_bottom"
                android:background="@drawable/main_rb_selector"
                android:drawableTop="@drawable/rb_search_selector"
                android:text="收索"
                android:textColor="@color/grey" />

            <RadioButton
                android:id="@+id/main_rb_camera"
                style="@style/main_tab_bottom"
                android:background="@drawable/main_rb_selector"
                android:drawableTop="@drawable/rb_share_selector"
                android:text="图片"
                android:textColor="@color/grey"/>        

            <RadioButton
                android:id="@+id/main_rb_selfinfo"
                style="@style/main_tab_bottom"
                android:background="@drawable/main_rb_selector"
                android:drawableTop="@drawable/rb_selfinfo_selector"
                android:text="日志"
               android:textColor="@color/grey" />

            <RadioButton
                android:id="@+id/main_rb_more"
                style="@style/main_tab_bottom"
                android:background="@drawable/main_rb_selector"
                android:drawableTop="@drawable/rb_more_selector"
                android:text="更多"
            android:textColor="@color/grey"/>

        </RadioGroup>
    </LinearLayout>

</TabHost>

search_activity.xml 、home_activity.xml、more_activity.xml、notes_activity.xml、photos_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="收索" />

</LinearLayout>


然后呢,是动态实现的方法:

package com.nyist.activity;

import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.TabHost;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class TabRadioDemoActivity extends TabActivity implements
		OnCheckedChangeListener {
	private static final String TAG = "TabRadioDemoActivity";
	private RadioButton rb_home, rb_search, rb_camera, rb_selfinfo, rb_more;
	private Intent homeIntent, searchIntent, cameraIntent, selfinfoIntent,
			moreIntent;
	private TabHost mTabHost;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tab_radio);
		homeIntent = new Intent(TabRadioDemoActivity.this, HomeActivity.class);
		searchIntent = new Intent(TabRadioDemoActivity.this,
				SearchActivity.class);
		cameraIntent = new Intent(TabRadioDemoActivity.this, PhotoesActivity.class);
		selfinfoIntent = new Intent(TabRadioDemoActivity.this,
				NotesActivity.class);
		moreIntent = new Intent(TabRadioDemoActivity.this, MoreActivity.class);
		setupIntent();
		findView();
	}

	private void setupIntent() {
		mTabHost = getTabHost();
		TabHost mainTabHost = this.mTabHost;
		mainTabHost.addTab(buildTabSpec("home", R.string.main_rb_home,
				this.homeIntent));
		mainTabHost.addTab(buildTabSpec("search", R.string.main_rb_search,
				this.searchIntent));
		mainTabHost.addTab(buildTabSpec("photoes", R.string.main_rb_camera,
				this.cameraIntent));
		mainTabHost.addTab(buildTabSpec("notes", R.string.main_rb_selfinfo,
				this.selfinfoIntent));
		mainTabHost.addTab(buildTabSpec("more", R.string.main_rb_more,
				this.moreIntent));
		mainTabHost.setCurrentTab(0);
	}

	private void findView() {
		rb_home = (RadioButton) this.findViewById(R.id.main_rb_home);
		rb_search = (RadioButton) this.findViewById(R.id.main_rb_search);
		rb_camera = (RadioButton) this.findViewById(R.id.main_rb_camera);
		rb_selfinfo = (RadioButton) this.findViewById(R.id.main_rb_selfinfo);
		rb_more = (RadioButton) this.findViewById(R.id.main_rb_more);
		rb_home.setOnCheckedChangeListener(this);
		rb_search.setOnCheckedChangeListener(this);
		rb_camera.setOnCheckedChangeListener(this);
		rb_selfinfo.setOnCheckedChangeListener(this);
		rb_more.setOnCheckedChangeListener(this);
	}

	private TabHost.TabSpec buildTabSpec(String tag, int resLabel,
			final Intent content) {
		return this.mTabHost.newTabSpec(tag).setIndicator(getString(resLabel))
				.setContent(content);
	}

	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if (isChecked) {
			switch (buttonView.getId()) {
			case R.id.main_rb_home:
				mTabHost.setCurrentTabByTag("home");
				break;
			case R.id.main_rb_search:
				mTabHost.setCurrentTabByTag("search");
				break;
			case R.id.main_rb_camera:
				mTabHost.setCurrentTabByTag("photoes");
				break;
			case R.id.main_rb_selfinfo:
				mTabHost.setCurrentTabByTag("notes");
				break;
			case R.id.main_rb_more:
				mTabHost.setCurrentTabByTag("more");
			}
		}
	}
}
还有search_activity.xml 、home_activity.xml、more_activity.xml、notes_activity.xml、photos_activity.xml所对应的Activity。
package com.nyist.activity;


import android.app.Activity;
import android.os.Bundle;


public class SearchActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.search_activity);
	}
}
ps:最后呢,不要忘记注册Activity哦!!

运行结果如下:




weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
weixin102旅游社交微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值