Android中选项卡TabHost的基本使用
来源:互联网 发布:macbook安装软件 编辑:程序博客网 时间:2024/05/19 15:44
今天来学习一下选项卡(TabHost)的使用,
选项卡的使用很常见,比如说:我们在手机上面 已接来电,未接来电的分组,首先来看下实现出来的效果截图:
我们要去实现TabHost,主要有两种方法:
一
1、各选项内容在布局文件中定义。
2、主Activity类继承TabActivity;
3、用getTabHost()方法获取TabHost
二
1、直接在布局文件中定义TabHost
注意:TabWidget的id必须是@android:id/tabs,FrameLayout的id必须是 @android:id/tabcontent。
接下来使用第一种的实现方法来去实现TabHost
主Activity类:
package com.jiangqq.tabhost; import android.app.TabActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.widget.TabHost;import android.widget.TabHost.TabSpec; public class TabHostActivity_Second extends TabActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// setContentView(R.layout.tabhost_second);// 得到TabHostTabHost tabHost = this.getTabHost(); // 把自己的布局文件添加到TabHost 的FrameLayout中 【注意】很重要的一句代码LayoutInflater.from(this).inflate(R.layout.tabhost_second,tabHost.getTabContentView(), true);// 设置选项卡// 参数:是选项卡的标签TabSpec parentSpec = tabHost.newTabSpec("parent");parentSpec.setIndicator("基类",this.getResources().getDrawable(R.drawable.announcements256));parentSpec.setContent(R.id.tab_1); TabSpec subSpec = tabHost.newTabSpec("sub");subSpec.setIndicator("子类",this.getResources().getDrawable(R.drawable.content256));subSpec.setContent(R.id.tab_2); tabHost.addTab(parentSpec);tabHost.addTab(subSpec); }}
TabHost的布局文件:
package com.jiangqq.tabhost; import android.app.TabActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.widget.TabHost;import android.widget.TabHost.TabSpec; public class TabHostActivity_Second extends TabActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// setContentView(R.layout.tabhost_second);// 得到TabHostTabHost tabHost = this.getTabHost(); // 把自己的布局文件添加到TabHost 的FrameLayout中 【注意】很重要的一句代码LayoutInflater.from(this).inflate(R.layout.tabhost_second,tabHost.getTabContentView(), true);// 设置选项卡// 参数:是选项卡的标签TabSpec parentSpec = tabHost.newTabSpec("parent");parentSpec.setIndicator("基类",this.getResources().getDrawable(R.drawable.announcements256));parentSpec.setContent(R.id.tab_1); TabSpec subSpec = tabHost.newTabSpec("sub");subSpec.setIndicator("子类",this.getResources().getDrawable(R.drawable.content256));subSpec.setContent(R.id.tab_2); tabHost.addTab(parentSpec);tabHost.addTab(subSpec); }}
然后使用第二种方法创建TabHost
主Activity类:
package com.jiangqq.tabhost; import android.app.Activity;import android.os.Bundle;import android.widget.TabHost;import android.widget.TabHost.TabSpec; /*** 本例是实现TabHost----->直接在XML文件中进行配置 【注意】在xml文件中* TahWidget和FrameLayout标签中的ID,必须要使用Android中默认的** @author jiangqq**/public class TabHostActivity_First extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.tabhost_first);// 获取TabHostTabHost tabHost = (TabHost) findViewById(R.id.tabs);tabHost.setup();// 设置选项卡// 参数:是选项卡的标签TabSpec parentSpec = tabHost.newTabSpec("parent");parentSpec.setIndicator("基类",this.getResources().getDrawable(R.drawable.announcements256));parentSpec.setContent(R.id.tab_1); TabSpec subSpec = tabHost.newTabSpec("sub");subSpec.setIndicator("子类",this.getResources().getDrawable(R.drawable.content256));subSpec.setContent(R.id.tab_2); tabHost.addTab(parentSpec);tabHost.addTab(subSpec); }}
布局文件:
<?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" > <TabHostandroid:id="@+id/tabs"android:layout_width="fill_parent"android:layout_height="fill_parent" > <LinearLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" > <TabWidgetandroid:id="@android:id/tabs"android:layout_width="fill_parent"android:layout_height="wrap_content" ></TabWidget> <FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="fill_parent" > <TextViewandroid:id="@+id/tab_1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:text="jiangqq_TabHostDemo_First" ></TextView> <TextViewandroid:id="@+id/tab_2"android:layout_width="fill_parent"android:layout_height="fill_parent"android:text="jiangqq_TabHostDemo_Second" ></TextView></FrameLayout></LinearLayout></TabHost> </LinearLayout>
大家可以比较一下两种方法的异同点,差异不是很大,创建起来也比较简单
- Android中选项卡TabHost的基本使用
- Android中选项卡TabHost的基本使用
- android中tabhost选项卡
- 选项卡TabHost的使用
- android TabHost的基本使用
- Android中选项卡TabHost的实际应用篇
- android中的TabHost(选项卡)的使用
- Android —— Tabhost选项卡的使用
- Android学习笔记-TabHost选项卡使用
- Android学习笔记-TabHost选项卡使用
- Android学习笔记-TabHost选项卡使用
- android 选项卡TabHost
- android 选项卡TabHost
- 浅谈android的选项卡TabHost
- android 选项卡TabHost的功能用法
- android TabHost(选项卡)的使用方法发布
- android TabHost(选项卡)的使用方法
- android TabHost(选项卡)的使用方法
- java设计模式---适配器模式
- Android上传文件到服务器中的简单实例
- Android游戏开发系统控件-CheckBox
- 基于ListView和CheckBox实现多选和全选记录的功能
- Android 数据存储和文件使用案例分析
- Android中选项卡TabHost的基本使用
- Win7打开激活telnet功能
- Andorid学习笔记8:事件监听合集
- Android 实现图片反转
- Android 利用cursor来进行排序
- libnids ip 重组
- windows 系统Android模拟器联网设置
- nyoj 37 回文字符串
- 系统短信库的一些用法