现在的位置: 首页 > 综合 > 正文

TabActivity标签界面的实现

2018年02月10日 ⁄ 综合 ⁄ 共 2485字 ⁄ 字号 评论关闭

一、创建一个类继承自TabActivity

二、创建标签视图对应的布局文件,所有的标签页的内容都在该布局文件里

<?xml version="1.0" encoding="utf-8"?>
<!-- 标签页对应的布局,一般采用FrameLayout作为根布局,每个标签页面对应一个子节点的Layout-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="fill_parent">

	<RelativeLayout 
		android:id="@+id/tab1" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:padding="10dip">

		<TextView android:layout_width="fill_parent" android:id="@+id/tab1_tv1"
			android:layout_height="wrap_content" android:text="@string/start"
			android:layout_alignParentTop="true" android:paddingBottom="5dip" />		
	</RelativeLayout>

	<LinearLayout
		android:id="@+id/tab2" android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:padding="10dip">

		<ImageButton android:layout_width="100dip"
			android:layout_height="50dip" android:layout_gravity="center_horizontal"
			android:src="@android:drawable/ic_menu_search" android:id="@+id/tab2_b1" />
	</LinearLayout>
	
	<LinearLayout 
		android:id="@+id/tab3" android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:padding="10dip">
		
		<EditText android:id="@+id/tab3_et1" android:layout_width="fill_parent"
			android:singleLine="true" android:layout_height="wrap_content" />	
	</LinearLayout>
	
	<ScrollView 
		android:id="@+id/tab4" android:orientation="vertical"
		android:layout_width="fill_parent" android:scrollbars="vertical"
		android:layout_height="wrap_content" android:padding="10dip">

		<TableLayout android:id="@+id/menu" android:layout_width="fill_parent"
			android:layout_height="wrap_content">

			<TableRow>
				<TextView android:id="@+id/tab4_h2" android:text="@string/line"
					android:gravity="left" android:padding="3dip" />
				<TextView android:id="@+id/tab4_et2" android:gravity="left"
					android:padding="3dip" />
			</TableRow>		
			<TableRow>
				<TextView android:id="@+id/tab4_h5" android:gravity="left"
					android:padding="3dip" />
				<TextView android:id="@+id/tab4_et5" android:gravity="left"
					android:padding="3dip" />
			</TableRow>
		</TableLayout>
	</ScrollView>

</FrameLayout>
 

三、在Oncreate函数中实现:

1、取得当前的tabHost,用于管理标签:TabActivity中存放tab的容器
  TabHost abHost = getTabHost();

2、绑定布局文件:

LayoutInflater.from(this).inflate(R.layout.tab,    tabHost.getTabContentView(), true); 

3、实例化标签页:

//实例化一个分页
TabHost.TabSpec tab1 = tabHost.newTabSpec("tab1");		
//设置该分页的标题和图标
tab1.setIndicator("标题",getResources().getDrawable(R.drawable.result));
//设置该标签页的布局内容,这是前面绑定的布局文件中FrameLayout下的一个子Layout
tab1.setContent(R.id.tab1);

4、添加标签页

tabHost.addTab(tab1);

四、标签页中控件事件处理,则同一般的activity一样

 

抱歉!评论已关闭.