Android之TabHost的几种使用方法

 1,Activity要继承TabActivity,使用LayoutInflater方式来初始化布局文件。

    main.xml

   

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent" android:layout_height="fill_parent">  
  4.     <LinearLayout android:id="@+id/tab01"  
  5.         android:layout_width="fill_parent" android:layout_height="fill_parent"  
  6.         android:gravity="center_horizontal" android:orientation="vertical">  
  7.         <TextView android:id="@+id/tv01" android:layout_width="wrap_content"  
  8.             android:layout_height="wrap_content" android:textSize="24dip"  
  9.             android:text="这是选项卡一,你课可以在这里添加你要显示的控件" />  
  10.   
  11.     </LinearLayout>  
  12.   
  13.     <LinearLayout android:id="@+id/tab02"  
  14.         android:layout_width="fill_parent" android:layout_height="fill_parent"  
  15.         android:gravity="center_horizontal" android:orientation="vertical">  
  16.         <TextView android:id="@+id/tv02" android:layout_width="wrap_content"  
  17.             android:layout_height="wrap_content" android:textSize="24dip"  
  18.             android:text="这是选项卡二,你课可以在这里添加你要显示的控件" />  
  19.     </LinearLayout>  
  20.       
  21.     <LinearLayout android:id="@+id/tab03"  
  22.         android:layout_width="fill_parent" android:layout_height="fill_parent"  
  23.         android:gravity="center_horizontal" android:orientation="vertical">  
  24.         <TextView android:id="@+id/tv03" android:layout_width="wrap_content"  
  25.             android:layout_height="wrap_content" android:textSize="24dip"  
  26.             android:text="这是选项卡三,你课可以在这里添加你要显示的控件" />  
  27.     </LinearLayout>  
  28.   
  29. </LinearLayout>  

 

 TabHostActivity.java

view plain
  1. package com.test;  
  2.   
  3. import android.app.TabActivity;  
  4. import android.os.Bundle;  
  5. import android.view.LayoutInflater;  
  6. import android.widget.TabHost;  
  7.   
  8. public class TabHostActivity extends TabActivity {  
  9.     /** Called when the activity is first created. */  
  10.     TabHost myTabHost ;  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.      //   setContentView(R.layout.main);  
  15.   
  16.         myTabHost=this.getTabHost();  
  17.         LayoutInflater.from(this).inflate(R.layout.main, myTabHost.getTabContentView(), true);  
  18.           
  19.         myTabHost.addTab(myTabHost.newTabSpec("选项卡一").setIndicator("选项卡一",   
  20.         getResources().getDrawable(R.drawable.icon)).setContent(R.id.tab01));  
  21.   
  22.         myTabHost.addTab(myTabHost.newTabSpec("选项卡二").setIndicator("选项卡二",   
  23.         getResources().getDrawable(R.drawable.icon)).setContent(R.id.tab02));  
  24.           
  25.         myTabHost.addTab(myTabHost.newTabSpec("选项卡三").setIndicator("选项卡三",   
  26.         getResources().getDrawable(R.drawable.icon)).setContent(R.id.tab03));  
  27.   
  28.     }  
  29. }  


 

 

2,同样继承TabActivity,但是选项卡的内容则是跳转到不同的activity。

mian.xml

view plain
  1. <TabHost xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:id="@android:id/tabhost" android:layout_width="fill_parent"  
  3.     android:layout_height="fill_parent">  
  4.     <LinearLayout android:orientation="vertical"  
  5.         android:layout_width="fill_parent" android:layout_height="fill_parent"  
  6.         android:padding="5dp">  
  7.         <TabWidget android:id="@android:id/tabs"  
  8.             android:layout_width="fill_parent" android:layout_height="wrap_content" />  
  9.         <FrameLayout android:id="@android:id/tabcontent"  
  10.             android:layout_width="fill_parent" android:layout_height="fill_parent"  
  11.             android:padding="5dp" />  
  12.     </LinearLayout>  
  13. </TabHost>   

注意:tabhost中的id,tabwidget的id以及framelayout的id

TabHostActivity.java

view plain
  1. package com.test;  
  2.   
  3. import android.app.TabActivity;  
  4. import android.content.Intent;  
  5. import android.content.res.Resources;  
  6. import android.os.Bundle;  
  7. import android.widget.TabHost;  
  8.   
  9. public class TabHostActivity extends TabActivity {  
  10.     /** Called when the activity is first created. */  
  11.     TabHost myTabHost ;  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.   
  17.         //得到TabHost对象,正对TabActivity的操作通常都有这个对象完成  
  18.         TabHost tabHost = getTabHost();  
  19.         //生成一个Intent对象,该对象指向一个Activity  
  20.         Intent activity1Intent = new Intent();  
  21.         activity1Intent.setClass(this, Activity1.class);  
  22.         //生成一个TabSpec对象,这个对象代表了一个页  
  23.         TabHost.TabSpec activity1Spec = tabHost.newTabSpec("选项卡一");  
  24.         Resources res = getResources();  
  25.         //设置该页的indicator , 这里使用了系统自动的图片资源  
  26.         activity1Spec.setIndicator("选项卡一", res.getDrawable(android.R.drawable.stat_sys_download));  
  27.         //设置该页的内容  
  28.         activity1Spec.setContent(activity1Intent);  
  29.         //将设置好的TabSpec对象添加到TabHost当中  
  30.         tabHost.addTab(activity1Spec);  
  31.           
  32.         Intent activity2Intent = new Intent();  
  33.         activity2Intent.setClass(this, Activity2.class);  
  34.         TabHost.TabSpec activity2Spec = tabHost.newTabSpec("选项卡二");  
  35.         activity2Spec.setIndicator("选项卡二", res.getDrawable(android.R.drawable.stat_sys_upload));  
  36.         activity2Spec.setContent(activity2Intent);  
  37.         tabHost.addTab(activity2Spec);  
  38.   
  39.     }  
  40. }  

注意:选项卡中的两个activity的代码就不贴上了。


Android之TabHost的几种使用方法_第1张图片

 

3,不继承TabActivity。

main.xml

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  3.     android:id="@+id/hometabs"  
  4.     android:orientation="vertical"  
  5.     android:layout_width="fill_parent"    
  6.     android:layout_height="fill_parent">   
  7.     <TabHost android:id="@+id/tabhost"  
  8.          android:layout_width="fill_parent"  
  9.          android:layout_height="wrap_content">  
  10.          <LinearLayout  
  11.             android:orientation="vertical"  
  12.             android:layout_width="fill_parent"  
  13.             android:layout_height="fill_parent">  
  14.               
  15.              <TabWidget android:id="@android:id/tabs"   
  16.               android:orientation="horizontal"  
  17.               android:layout_width="fill_parent"  
  18.               android:layout_height="wrap_content">  
  19.             </TabWidget>  
  20.            
  21.              <FrameLayout android:id="@android:id/tabcontent"  
  22.                   android:layout_width="wrap_content"  
  23.                   android:layout_height="wrap_content">  
  24.                     <TextView android:id="@+id/view1"  
  25.                         android:layout_width="fill_parent"  
  26.                         android:layout_height="fill_parent" android:text="这里是选项卡一"/>  
  27.                     <TextView android:id="@+id/view2"  
  28.                         android:layout_width="fill_parent"  
  29.                         android:layout_height="fill_parent" android:text="这里是选项卡二"/>  
  30.                     <TextView android:id="@+id/view3"  
  31.                         android:layout_width="fill_parent"  
  32.                         android:layout_height="fill_parent" android:text="这里是选项卡三"/>  
  33.              </FrameLayout>  
  34.            
  35.          </LinearLayout>  
  36.     </TabHost>  
  37. </LinearLayout>  


TabHostActivity.java

view plain
  1. package com.test;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.widget.TabHost;  
  6.   
  7. public class TabHostActivity extends Activity {  
  8.     /** Called when the activity is first created. */  
  9.     TabHost myTabHost ;  
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.main);  
  14.         TabHost tabHost = (TabHost) findViewById(R.id.tabhost);  
  15.         tabHost.setup();  
  16.         tabHost.addTab(tabHost  
  17.                 .newTabSpec("选项二")  
  18.                 .setIndicator("选项二",  
  19.                         getResources().getDrawable(R.drawable.icon))  
  20.                 .setContent(R.id.view1));  
  21.   
  22.         tabHost.addTab(tabHost  
  23.                 .newTabSpec("选项二")  
  24.                 .setIndicator("选项二",  
  25.                         getResources().getDrawable(R.drawable.icon))  
  26.                 .setContent(R.id.view2));  
  27.   
  28.         tabHost.addTab(tabHost  
  29.                 .newTabSpec("选项三")  
  30.                 .setIndicator("选项三",  
  31.                         getResources().getDrawable(R.drawable.icon))  
  32.                 .setContent(R.id.view3));  
  33.     }  
  34. }  


Android之TabHost的几种使用方法_第2张图片

你可能感兴趣的:(android,upload,layout,download,encoding)