Android入门之TabHost与TabWidget实例解析

本文详细介绍了Android中Tab控件的使用方法,包括TabHost与TabWidget的基本布局配置及Java程序实现,通过实例展示了如何创建分页效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章主要介绍了Android入门之TabHost与TabWidget,对于Android初学者有一定的学习借鉴价值,需要的朋友可以参考下。

本文实例介绍的是Android的Tab控件,Tab控件可以达到分页的效果,让一个屏幕的内容尽量丰富,当然也会增加开发的复杂程度,在有必要的时候再使用。Android的Tab控件使用起来有点奇怪,必须包含和按照以下的顺序:

TabHost控件->TabWidget(必须命名为tabs)->FrameLayout(必须命名为tabcontent)。

先来贴出本例运行的截图:

main.xml的源码如下:

01<?xmlversion="1.0"encoding="utf-8"?>
02<TabHostandroid:layout_width="fill_parent"
03  android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"android:id="@android:id/TabHost1">
04  <TabWidgetandroid:id="@android:id/tabs"
05    android:layout_height="wrap_content"android:layout_width="fill_parent">
06</TabWidget>
07  <FrameLayoutandroid:id="@android:id/tabcontent"
08    android:paddingTop="65px"android:layout_width="fill_parent"android:layout_height="fill_parent">
09    <LinearLayoutandroid:layout_height="wrap_content"android:id="@+id/Tab1"android:orientation="vertical"android:layout_width="fill_parent">
10      <EditTextandroid:layout_height="wrap_content"android:id="@+id/edtTab1"android:layout_width="fill_parent"></EditText>
11      <Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btnTab1"android:text="Tab1"></Button>
12    </LinearLayout>
13    <LinearLayoutandroid:layout_height="wrap_content"android:id="@+id/Tab2"android:layout_width="fill_parent"android:orientation="horizontal">
14      <EditTextandroid:layout_height="wrap_content"android:id="@+id/edtTab2"android:layout_width="wrap_content"android:layout_weight="300"></EditText>
15      <Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btnTab2"android:text="Tab2"></Button></LinearLayout>
16  </FrameLayout>
17</TabHost>

java程序源码如下:

01package com.testTab;
02import android.app.TabActivity;
03import android.os.Bundle;
04import android.view.View;
05import android.widget.Button;
06import android.widget.EditText;
07import android.widget.TabHost;
08import android.widget.TabHost.TabSpec;
09public classtestTab extends TabActivity {//基于TabActivity构建
10  
11 Button btnTab1,btnTab2;
12 EditText edtTab1,edtTab2;
13  /** Called when the activity is first created. */
14  @Override
15  publicvoid onCreate(Bundle savedInstanceState) {
16   super.onCreate(savedInstanceState);
17    setContentView(R.layout.main);
18     
19    TabHost tabs = getTabHost();
20    //设置Tab1
21    TabSpec tab1 = tabs.newTabSpec("tab1");
22    tab1.setIndicator("tab1");  // 设置tab1的名称
23    tab1.setContent(R.id.Tab1); // 关联控件
24    tabs.addTab(tab1);       // 添加tab1
25     
26    btnTab1=(Button)this.findViewById(R.id.btnTab1);
27    edtTab1=(EditText)this.findViewById(R.id.edtTab1);
28    btnTab1.setOnClickListener(newClickEvent());
29     
30    //设置Tab2
31    TabSpec tab2 = tabs.newTabSpec("tab2");
32    tab2.setIndicator("tab2");  
33    tab2.setContent(R.id.Tab2); 
34    tabs.addTab(tab2);       
35     
36    btnTab2=(Button)this.findViewById(R.id.btnTab2);
37    edtTab2=(EditText)this.findViewById(R.id.edtTab2);
38    btnTab2.setOnClickListener(newClickEvent());
39     
40    tabs.setCurrentTab(0);
41  }
42   
43  classClickEvent implements View.OnClickListener {
44 @Override
45 public void onClick(View v) {
46  if(v==btnTab1)
47  {
48  edtTab1.setText("tab1");
49  }
50  elseif(v==btnTab2)
51  {
52  edtTab2.setText("tab2");
53  }
54 }
55   
56  }
57}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值