WEB开发网
开发学院手机开发Android 开发 TabHost两种实现方式 阅读

TabHost两种实现方式

 2012-09-19 17:33:48 来源:WEB开发网   
核心提示:第二种:不用继承TabActivity,在布局文件中定义TabHost即可,TabHost两种实现方式(2),但是TabWidget的id必须是 @android:id/tabs,FrameLayout的id必须是@android:id/tabcontent

第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.

xml布局:

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:id="@+id/hometabs"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"    
    android:layout_height="fill_parent">   
    <TabHost android:id="@+id/tabhost"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content">  
        <LinearLayout  
            android:orientation="vertical"  
            android:layout_width="fill_parent"  
            android:layout_height="fill_parent">  
              
            <TabWidget android:id="@android:id/tabs"   
              android:orientation="horizontal"  
              android:layout_width="wrap_content"  
              android:layout_height="wrap_content">  
            </TabWidget>  
           
             <FrameLayout android:id="@android:id/tabcontent"  
                  android:layout_width="wrap_content"  
                  android:layout_height="wrap_content">  
                    <TextView android:id="@+id/view1"  
                        android:layout_width="fill_parent"  
                        android:layout_height="fill_parent"/>  
                    <TextView android:id="@+id/view2"  
                        android:layout_width="fill_parent"  
                        android:layout_height="fill_parent"/>  
                    <TextView android:id="@+id/view3"  
                        android:layout_width="fill_parent"  
                        android:layout_height="fill_parent"/>  
             </FrameLayout>  
           
         </LinearLayout>  
    </TabHost>  
</LinearLayout>  
  
java代码:  
protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.hometabs);  
          
        TabHost tabHost = (TabHost) findViewById(R.id.tabhost);  
        tabHost.setup();  
        TabWidget tabWidget = tabHost.getTabWidget();  
          
        tabHost.addTab(tabHost.newTabSpec("tab1")  
                .setIndicator("tab1", getResources().getDrawable(R.drawable.mumule))  
                .setContent(R.id.view1));  
          
        tabHost.addTab(tabHost.newTabSpec("tab3")  
                .setIndicator("tab3")  
                .setContent(R.id.view3));  
          
        tabHost.addTab(tabHost.newTabSpec("tab2")  
                .setIndicator("tab2")  
                .setContent(R.id.view2));  
          
        final int tabs = tabWidget.getChildCount();  
        Log.i(TAG, "***tabWidget.getChildCount() : " + tabs);  
          
        final int tabWidth = 90;  
        final int tabHeight = 45;  
          
        for (int i = 0; i < tabs; i++) {  
        /*  final View view = tabWidget.getChildAt(i); 
            view.getLayoutParams().width = tabWidth; 
            view.getLayoutParams().height = tabHeight; 
            final TextView tv = (TextView) view.findViewById(android.R.id.title); 
            tv.setTextColor(this.getResources().getColorStateList(android.R.color.black)); 
            MarginLayoutParams tvMLP = (MarginLayoutParams)tv.getLayoutParams(); 
            tvMLP.bottomMargin = 8;*/  
        }  
    }  

上一页  1 2 3 4  下一页

Tags:TabHost 实现 方式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接