android实现页面下方的Tab效果

实现采用TabHost组件。
1、XML布局文件:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <FrameLayout
       android:gravity="bottom"
       android:layout_weight="1"
            android:id="@android:id/tabcontent"          
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
        <TabWidget
        android:layout_weight="0"
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        
    </LinearLayout>
</TabHost>
注意<FrameLayout>标签和<TabWidget>标签的顺序。
android:layout_weight的设置使位置靠下,否则默认是在上面的。
2、activity文件


@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.maintabs);
        // Resource object to get Drawables
        Resources res = getResources(); 
        tabHost = getTabHost();  
        // Resusable TabSpec for each tab
        TabHost.TabSpec spec;  
        // Reusable Intent for each tab
        Intent intent;  


        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this,HomeTab.class);


        // Initialize a TabSpec for each tab and add it to the TabHost
        String str_tabhome=res.getString(R.string.tab_home);
        spec = tabHost.newTabSpec(str_tabhome).setIndicator(str_tabhome,res.getDrawable(R.drawable.ic_tab_artists))
                       .setContent(intent);
        tabHost.addTab(spec);    
        
       String str_tab02=res.getString(R.string.tab02);
        spec = tabHost.newTabSpec(str_tab02).setIndicator(str_tab02,res.getDrawable(R.drawable.ic_tab_artists))
                      .setContent(intent);
        tabHost.addTab(spec);   


        tabHost.setCurrentTab(2);
       
    }

3、效果如下:

android实现页面下方的Tab效果

你可能感兴趣的:(android)