zoukankan      html  css  js  c++  java
  • TabHost 两种使用方法 直接让一个Activity 继承TabActivity 和 利用findViwById()方法取得TagHost组件

     第一种,TabActivity 解决方案

    下面建立的布局文件,它包含多个标签的显示组件

    Tab.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id = "@+id/MyLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <LinearLayout  
        android:id ="@+id/tab_edit"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        
        <EditText
            android:id ="@+id/edit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize= "18px"
            android:text = "请输入检索关键字"
            />
        <Button
            android:id = "@+id/but"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text = "搜索"
            />
        </LinearLayout>
        <LinearLayout  
        android:id ="@+id/tab_clock"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        androidrientation="vertical" >
        
        
        <AnalogClock
            android:id ="@+id/myAnalogClock"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             
            />
        
        </LinearLayout>
        
        
        <LinearLayout  
        android:id ="@+id/tab_sex"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        
        <RadioGroup
            android:id ="@+id/sex"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
             android:orientation="vertical"
            >
        <RadioButton 
             android:id ="@+id/male"
             android:checked = "true"
             android:text = "性别 : 男"     
            />
        <RadioButton 
             android:id ="@+id/female"          
             android:text = "性别 : 女"     
            />
          </RadioGroup>
        </LinearLayout>
        
    </LinearLayout>
    import android.app.TabActivity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.widget.TabHost;
    import android.widget.TabHost.TabSpec;
    
    public class TabHostDemo extends TabActivity {
        private TabHost myTabHost;
        private int[] layRes = new int[]{R.id.tab_edit,R.id.tab_clock,
        		R.id.tab_sex};
        
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.tab);
            
            this.myTabHost = super.getTabHost();  //取得TabHost对象
            LayoutInflater.from(this).inflate(R.layout.tab,
            		this.myTabHost.getTabContentView(), true);  
            for(int x=0; x < this.layRes.length; x++){
            	TabSpec myTab =  myTabHost.newTabSpec("tab" + x);
            	myTab.setIndicator("标签 -"+x);
            	myTab.setContent(this.layRes[x]);
            	this.myTabHost.addTab(myTab);
            }
            
        }
    }
    

           

            

           

    第二种   表格标签(继承Activity)利用Tab.xml布局

    Tab.xml
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:id ="@+id/tabhost"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"    
     6     android:orientation="vertical" >
     7     <LinearLayout     
     8     android:orientation="vertical"
     9     android:layout_width="fill_parent"
    10     android:layout_height="fill_parent"
    11      >
    12     
    13     
    14     <TabWidget
    15         android:id ="@android:id/tabs"
    16         android:layout_width="fill_parent"
    17         android:layout_height="wrap_content"
    18         android:layout_alignParentTop="true"
    19         />
    20     <FrameLayout 
    21     android:id="@android:id/tabcontent" 
    22     android:layout_width="fill_parent"
    23     android:layout_height="fill_parent"
    24      >
    25           <LinearLayout  
    26         android:id ="@+id/tab_edit"
    27         android:layout_width="fill_parent"
    28         android:layout_height="fill_parent"
    29         android:orientation="vertical" >
    30         
    31         
    32         <EditText
    33             android:id ="@+id/edit"
    34             android:layout_width="wrap_content"
    35             android:layout_height="wrap_content"
    36             android:textSize= "18px"
    37             android:text = "请输入检索关键字"
    38             />
    39         <Button
    40             android:id = "@+id/but"
    41             android:layout_width="wrap_content"
    42             android:layout_height="wrap_content"
    43             android:text = "搜索"
    44             />
    45         </LinearLayout>
    46         <LinearLayout  
    47         android:id ="@+id/tab_clock"
    48         android:layout_width="fill_parent"
    49         android:layout_height="fill_parent"
    50         androidrientation="vertical" >
    51         
    52         
    53         <AnalogClock
    54             android:id ="@+id/myAnalogClock"
    55             android:layout_width="wrap_content"
    56             android:layout_height="wrap_content"
    57              
    58             />
    59         
    60         </LinearLayout>
    61         
    62         
    63         <LinearLayout  
    64         android:id ="@+id/tab_sex"
    65         android:layout_width="fill_parent"
    66         android:layout_height="fill_parent"
    67         android:orientation="vertical" >
    68         
    69         
    70         <RadioGroup
    71             android:id ="@+id/sex"
    72             android:layout_width="fill_parent"
    73             android:layout_height="wrap_content"
    74              android:orientation="vertical"
    75             >
    76         <RadioButton 
    77              android:id ="@+id/male"
    78              android:checked = "true"
    79              android:text = "性别 : 男"     
    80             />
    81         <RadioButton 
    82              android:id ="@+id/female"          
    83              android:text = "性别 : 女"     
    84             />
    85           </RadioGroup>
    86         </LinearLayout> 
    87     </FrameLayout>
    88     </LinearLayout>
    89 </TabHost>
    TabHostDemo.java
     1 package cn.TabHost;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.widget.TabHost;
     6 import android.widget.TabHost.TabSpec;
     7 
     8 public class TabHostDemo extends Activity {
     9      private TabHost myTabHost;
    10      private int[] layRes = new int[]{R.id.tab_edit,R.id.tab_clock,
    11                 R.id.tab_sex};
    12      
    13     @Override
    14     public void onCreate(Bundle savedInstanceState) {
    15         super.onCreate(savedInstanceState);
    16         setContentView(R.layout.tab);
    17       
    18         myTabHost = (TabHost)findViewById(R.id.tabhost);
    19         myTabHost.setup();        //建立TabHost对象
    20         for(int x=0; x < this.layRes.length; x++ ) {
    21             TabSpec myTab =    myTabHost.newTabSpec("tag" + x);
    22             myTab.setIndicator("标签 - " + x);
    23             myTab.setContent(this.layRes[x]);
    24             myTabHost.addTab(myTab);
    25   
    26         }
    27         this.myTabHost.setCurrentTab(2);    //默认显示的标签索引为2
    28     }
    29 }

    第三种  表格标签在下方显示        

    就是在Tab.xml中把  LinearLayout改成RelativeLayout。   TabWidget 标签加入  android:layout_alignParentBottom="true"

    Tab.xml
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:id ="@+id/tabhost"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"    
     6     android:orientation="vertical" >
     7     <RelativeLayout     
     8     android:orientation="vertical"
     9     android:layout_width="fill_parent"
    10     android:layout_height="fill_parent"
    11      >            <!-- 相对布局可以任意摆放,不像 线性布局,从上往下。 -->
    12     
    13     
    14     <TabWidget
    15         android:id ="@android:id/tabs"
    16         android:layout_width="fill_parent"
    17         android:layout_height="wrap_content"
    18         android:layout_alignParentBottom="true"
    19         />
    20     <FrameLayout 
    21     android:id="@android:id/tabcontent" 
    22     android:layout_width="fill_parent"
    23     android:layout_height="fill_parent"
    24      >
    25           <LinearLayout  
    26         android:id ="@+id/tab_edit"
    27         android:layout_width="fill_parent"
    28         android:layout_height="fill_parent"
    29         android:orientation="vertical" >
    30         
    31         
    32         <EditText
    33             android:id ="@+id/edit"
    34             android:layout_width="wrap_content"
    35             android:layout_height="wrap_content"
    36             android:textSize= "18px"
    37             android:text = "请输入检索关键字"
    38             />
    39         <Button
    40             android:id = "@+id/but"
    41             android:layout_width="wrap_content"
    42             android:layout_height="wrap_content"
    43             android:text = "搜索"
    44             />
    45         </LinearLayout>
    46         <LinearLayout  
    47         android:id ="@+id/tab_clock"
    48         android:layout_width="fill_parent"
    49         android:layout_height="fill_parent"
    50         androidrientation="vertical" >
    51         
    52         
    53         <AnalogClock
    54             android:id ="@+id/myAnalogClock"
    55             android:layout_width="wrap_content"
    56             android:layout_height="wrap_content"
    57              
    58             />
    59         
    60         </LinearLayout>
    61         
    62         
    63         <LinearLayout  
    64         android:id ="@+id/tab_sex"
    65         android:layout_width="fill_parent"
    66         android:layout_height="fill_parent"
    67         android:orientation="vertical" >
    68         
    69         
    70         <RadioGroup
    71             android:id ="@+id/sex"
    72             android:layout_width="fill_parent"
    73             android:layout_height="wrap_content"
    74              android:orientation="vertical"
    75             >
    76         <RadioButton 
    77              android:id ="@+id/male"
    78              android:checked = "true"
    79              android:text = "性别 : 男"     
    80             />
    81         <RadioButton 
    82              android:id ="@+id/female"          
    83              android:text = "性别 : 女"     
    84             />
    85           </RadioGroup>
    86         </LinearLayout> 
    87     </FrameLayout>
    88     </RelativeLayout>
    89 </TabHost>

  • 相关阅读:
    ViewPagerAdapter
    Android Touch事件传递机制详解
    android ANR产生原因和解决办法【转】
    Android 操作系统的内存回收机制(转载)
    android的程序运行数据存放在哪里?
    自定义RecyclerView.ItemDecoration,实现RecyclerView的分割线效果
    Android中 Bitmap和Drawable相互转换的方法
    android 存储图片到data目录和读取data目录下的图片
    多线程调用HttpWebRequest并发连接限制
    反射
  • 原文地址:https://www.cnblogs.com/firecode/p/2614654.html
Copyright © 2011-2022 走看看