android 分页实现

在android中通过TabSpecTabHost实现分页功能

 

TabHost相当于浏览器中浏览器分布的集合,而Tabspec则相当于浏览器中的每一个分页面。d在Android中,每一个TabSpec分布可以是一个组件,也可以是一个布局,然后将每一个分页装入TabHost中,TabHost即可将其中的每一个分页一并显示出来。

创建TabHost分布菜单对象,利用以下代码。

LayoutInflater.from(this).inflate(R.layout.main,tableHost.getTabContentView());

 

TabHost广泛运用于android程序中,在程序中运用TabHost,解决了手机屏幕小,显示内容少的问题,如系统自带的拨号程序,就用了TabHost

分为拨号、通话纪录、联系人、收藏几个Tab。

定义布局文件:tabhost.xml

01 <?xml version="1.0" encoding="utf-8"?>
02 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
03     android:layout_width="match_parent"
04     android:layout_height="match_parent" >
05  
06     <LinearLayout
07         android:orientation="vertical"
08         android:layout_width="match_parent"
09         android:layout_height="wrap_content"
10         android:layout_marginRight="5dp">
11           
12       <LinearLayout
13         android:id="@+id/tab_edit"
14         android:layout_width="fill_parent"
15         android:layout_height="fill_parent"
16         androidrientation="vertical">
17         <EditText
18             android:id="@+id/edit"
19             android:layout_width="wrap_content"
20             android:layout_height="wrap_content"
21             android:text="请输入检索关键字..."
22             android:textSize="18sp"/>
23         <Button
24             android:id="@+id/but"
25             android:layout_width="wrap_content"
26             android:layout_height="wrap_content"
27             android:text="搜索"/>
28     </LinearLayout>
29     <LinearLayout
30         android:id="@+id/tab_clock"
31         android:layout_width="fill_parent"
32         android:layout_height="fill_parent"
33         androidrientation="vertical">
34         <AnalogClock
35             android:id="@+id/myAnalogClock"
36             android:layout_width="wrap_content"
37             android:layout_height="wrap_content"/>
38     </LinearLayout>
39     <LinearLayout
40         android:id="@+id/tab_sex"
41         android:layout_width="fill_parent"
42         android:layout_height="fill_parent"
43         androidrientation="vertical">
44         <RadioGroup
45             android:id="@+id/sex"
46             android:layout_width="fill_parent"
47             android:layout_height="wrap_content"
48             android:orientation="vertical">
49             <RadioButton
50                 android:id="@+id/male"
51                 android:checked="true"
52                 android:text="性别:男"/>
53             <RadioButton
54                 android:id="@+id/female"
55                 android:text="性别:女"/>
56         </RadioGroup>
57     </LinearLayout
58      </LinearLayout>
59 </ScrollView>

2.java代码:

01 package com.test;
02  
03 import java.util.ArrayList;
04  
05  
06 import java.util.HashMap;
07 import java.util.List;
08 import java.util.Map;
09  
10 import com.test.R;
11 import android.app.Activity;
12 import android.app.TabActivity;
13 import android.content.Intent;
14 import android.os.Bundle;
15 import android.view.LayoutInflater;
16 import android.view.View;
17 import android.view.View.OnClickListener;
18 import android.widget.CompoundButton.OnCheckedChangeListener;
19 import android.widget.TabHost.TabSpec;
20 import android.widget.CompoundButton;
21 import android.widget.ListView;
22 import android.widget.SimpleAdapter;
23 import android.widget.TabHost;
24 import android.widget.TextView;
25 import android.widget.ToggleButton;
26  
27 public class TabHostDemo extends TabActivity {
28     //自定义
29     private  TabHost  mytabhost = null;  // 定义TabHost
30     private int[] layRes = { R.id.tab_edit, R.id.tab_clock , R.id.tab_sex };   
31      
32      
33      
34     protected void onCreate(Bundle savedInstanceState) {
35         // TODO Auto-generated method stub
36         super.onCreate(savedInstanceState);
37         mytabhost = super.getTabHost() ;            // 取得TabHost对象
38         LayoutInflater.from(this)                       // 取得LayoutInflater对象
39         .inflate(R.layout.tabhost,                  // 定义转换的布局管理器
40                 this.mytabhost.getTabContentView(), // 指定标签增加的容器
41                 true);                          // 实例化布局管理器中的组件
42         for (int x = 0; x < this.layRes.length; x++) {   // 循环取出所有布局标记
43             TabSpec myTab = mytabhost.newTabSpec("tab" + x);    // 定义TabSpec
44             myTab.setIndicator("标签 - " + x) ;           // 设置标签文字
45             myTab.setContent(this.layRes[x]) ;          // 设置显示的组件
46             this.mytabhost.addTab(myTab) ;              // 增加标签
47         }
48          
49     }
50 }

3.执行结果:

=========================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值