fanleiym 2010-12-30
在手机有限的屏幕里面,有时候我们要安排较多的内容可能无法容纳,当然我们可以使用版面的滚动功能,但是这样做显得不是很好看,而且有时候我们需要对不同功能集合的控件集中在各自的面板中,这就需要使用面板Tab控件了。
面板控件的好处是能在一个界面上同时显示不同的面板内容,通过面板标签方便的切换到不同的面板上面,下面ATAAW.COM开始介绍这个Tab控件的使用,为了直观起见,我们直接从例子介绍Tab控件的两种显示方法。
布局文件中定义两个Tab中显示的内容,这里以TextView为例。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"android:layout_height="fill_parent">
<!–Tab1中显示的内容–>
<TextViewandroid:id="@+id/content1"android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="tab1content"/>
<!–Tab2中显示的内容–>
<TextViewandroid:id="@+id/content2"android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="tab2content"/>
</FrameLayout>在程序中使用Tab并调用布局中的控件:
public class _Tab extends TabActivity {
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
TabHosttabHost=getTabHost();
LayoutInflater.from(this).inflate(R.layout.tab,tabHost.getTabContentView(),true);
//Tab1的内容
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("tab1",getResources().getDrawable(R.drawable.p1))
.setContent(R.id.view1));
//Tab2的内容
tabHost.addTab(tabHost.newTabSpec("tab2")
.setIndicator("tab2",getResources().getDrawable(R.drawable.p1))
.setContent(R.id.view2));
//Tab3的内容(用指定的Activity来设置Tab的内容)
tabHost.addTab(tabHost.newTabSpec("tab3")
.setIndicator("tab3",getResources().getDrawable(R.drawable.p1))
.setContent(newIntent(this,_TextView.class)));
}
}由以上例子可见,Tab的使用主要的方法有addTab、setIndicator、setContent,另外,除了使用布局文件来定义Tab中显示的内容,还可以直接把另一个Activity作为Tab的内容显示,使得每个Tab面板的内容独立开来。