TabHost配合Radio按钮 简单使用
使用TabHost 可以在一个屏幕间进行不同版面的切换
一、继承TabActivity
示例
public class MainActivity extends TabActivity {
private TabHost tabHost;
private RadioGroup radioGroup;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radioGroup = (RadioGroup)findViewById(R.id.main_radio);
tabHost = getTabHost();
//添加选项卡
tabHost.addTab(tabHost.newTabSpec("tab_test1").setIndicator("TAB ONE").setContent(new Intent(this,TaboneActivity.class)));
tabHost.addTab(tabHost.newTabSpec("tab_test2").setIndicator("TAB_TWO").setContent(new Intent(this, TabtwoActivity.class)));
//初始选中
tabHost.setCurrentTabByTag("tab_test2");
//设置为默认选中
radioGroup.check(R.id.strollbtn);
//radio按钮事件
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.recommendbtn:
tabHost.setCurrentTabByTag("tab_test1");
break;
case R.id.strollbtn:
tabHost.setCurrentTabByTag("tab_test2");
break;
}
}
} );
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TabHost android:id="@android:id/tabhost" //id android 默认
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--注意 设置此LinearLayout时,选项卡在底部,如去提,选项卡在屏幕顶部-->
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<FrameLayout android:id="@android:id/tabcontent" //id android 默认
android:layout_width="fill_parent" android:layout_height="0.0dip"
android:layout_weight="1.0"/>
<!--注意切记 android:visibility="gone" 时,隐藏系统提供的选项卡,方便设计自定义选项卡-->
<TabWidget android:id="@android:id/tabs" //android 默认
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:visibility="gone" android:layout_weight="0.0"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:background="#ff919191"
android:paddingTop="1px">
<!-- 自定义radio组件-->
<RadioGroup android:gravity="center_vertical"
android:layout_gravity="bottom" android:orientation="horizontal"
android:id="@+id/main_radio" android:background="@color/skin_green"
android:layout_width="fill_parent" android:layout_height="50dp">
<RadioButton android:id="@+id/recommendbtn"
android:tag="recommendbtn" style="@style/style_recommendbtn" />
<RadioButton android:id="@+id/strollbtn" android:tag="strollbtn"
style="@style/style_strollbtn" />
<RadioButton android:id="@+id/specialbtn" android:tag="specialbtn"
</RadioGroup>
</LinearLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
TaboneActivity
public class TaboneActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_one);
}
}
layout_one.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linear1"
android:orientation="vertical">
<TextView android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第一个页面"></TextView>
<LinearLayout android:id="@+id/content"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1.0" android:background="@color/background">
</LinearLayout>
</LinearLayout>
相关推荐
在Android应用开发中,TabHost是一个非常重要的组件,它用于创建多标签的界面,让用户能够通过...通过理解和实践这个示例,开发者可以更好地掌握Android TabHost的使用,以及如何在实际项目中灵活运用,提升用户体验。
本文将深入讲解如何在Android中使用TabHost,并通过一个简单实例来演示其基本用法。 首先,我们需要了解TabHost的基本结构。TabHost通常包含两个主要部分:TabWidget和FrameLayout。TabWidget负责显示和管理各个Tab...
在Android开发中,TabHost是实现底部导航菜单的一种传统方式,它允许用户在多个标签页之间切换,每个标签页通常代表一个不同的功能区域。本文将详细介绍如何使用TabHost来创建带有图片和文字,并且在选中时有明显...
本篇文章将深入探讨如何在Android应用中实现TabHost的简单使用。 首先,我们需要在布局文件中设置TabHost。一个基本的TabHost布局可能如下所示: ```xml <TabHost xmlns:android=...
在Android开发中,`TabHost` 是一个非常实用的组件,用于创建具有多个选项卡的应用界面。它允许开发者在一个活动中展示多个视图,并通过选项卡进行切换。下面我们将详细介绍如何使用 `TabHost`,包括布局的设置和...
本文将深入探讨如何使用TabHost来实现在Android应用底部显示选项卡的功能。 一、TabHost简介 TabHost是Android SDK中的一个类,它提供了在一个Activity中创建多个Tab的能力。每个Tab对应一个可以切换的界面,用户...
本篇文章将深入探讨如何使用TabHost在Android中实现最简单的页卡效果。 首先,我们需要理解TabHost的基本结构。TabHost通常包含两个主要组件:TabWidget和FrameLayout。TabWidget是显示页卡标签的部分,而...
现在,我们将这两个组件结合在一起,创建一个简单的Android TabHost ListView应用: 1. **设置布局文件**:首先,你需要创建两个XML布局文件,一个用于TabHost的总体布局,另一个用于ListView的子布局。在子布局中...
### Android Tabhost 使用详解 #### 一、Tabhost 概述 在Android开发过程中,`Tabhost` 是一个非常实用的组件,它可以帮助开发者轻松地为应用创建标签式导航界面。这种方式不仅美观而且能有效提高用户体验。本文将...
在这个讨论中,我们将聚焦于Android最新的`TabHost`,它继承自`FrameActivity`,并主要使用`Fragment`来处理各个选项卡的内容。 1. **TabHost的定义与功能**: `TabHost`是基于`FrameLayout`的布局管理器,它提供...
在这个“android TabHost+slidingmenu简单实现”的主题中,我们将探讨如何将这两个组件结合,为用户提供一个既具有标签页切换又拥有滑动菜单的交互体验。 首先,让我们了解TabHost。TabHost是Android提供的一个容器...
总之,Android的TabHost结合ActivityGroup可以创建一个具有多页面选项卡的用户界面,虽然在现代Android开发中,通常建议使用Fragment替代ActivityGroup,但理解这种旧的实现方式对理解Android历史和一些老项目依然很...
Android编程之Intent_TabHost源码演示,自定义的Tabhost(内含源码),学习制作Android软件的TAB标签界面,在电脑上已经很流行的功能,Android手机上当然不能少,这个TabHost源码相对简单些,是JAVA转学Android比较...
在Android开发中,...同时,随着Android版本的更新,谷歌推出了新的底部导航实现方式,如BottomNavigationView,虽然TabHost在现代Android开发中使用较少,但在一些旧项目或简单应用中,它仍然是一个实用的选择。
本文将深入探讨Android TabHost的使用、原理以及如何实现Tab切换效果。 一、TabHost简介 TabHost是Android提供的一个容器,它允许我们在一个Activity中创建多个Tab,每个Tab对应一个单独的界面或者Fragment。通过...
在本教程中,我们将深入探讨如何在Android 1.6版本中使用TabHost,并通过实例来理解其工作原理。 首先,让我们了解TabHost的基本结构。在XML布局文件中,TabHost通常被定义为根元素,TabWidget作为子元素负责显示...
总的来说,这个项目涵盖了Android UI设计中的几个关键组件和概念:TabHost用于选项卡布局,ViewFlipper实现简单的滑动效果,而GestureDetector则增强了用户的触摸交互。这些技术的组合使用,使得应用能够在有限的...
这种方法相对简单,因为`TabActivity`已经封装了一些关于TabHost的处理逻辑。在继承`TabActivity`的子类中,可以通过`setup()`方法初始化TabHost,并使用`addTab()`添加标签。 1. **布局文件**:与方法一相同,需要...
本篇将深入讲解如何利用TabHost来构建一个简单的Android应用实例。 首先,我们需要了解TabHost的基本结构。TabHost由两部分组成:TabWidget和FrameLayout。TabWidget负责显示各个选项卡,而FrameLayout则承载每个...