首页 > 移动平台 > 详细

Android选项卡TabHost方式实现

时间:2014-03-03 17:51:44      阅读:579      评论:0      收藏:0      [点我收藏+]

1.布局XML:

bubuko.com,布布扣
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@android:id/tabhost">
    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/bottomtip"
            android:layout_width="match_parent"
            android:layout_height="50dp"            
            android:text="@string/funPageBtn2" 
            android:gravity="center_horizontal|center_vertical" 
            android:layout_alignParentTop="true"
            android:textColor="@android:color/white"
            android:background="@android:color/black" 
        />
        <FrameLayout 
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@android:id/tabs"
            android:layout_below="@+id/bottomtip"
        />
        <TabWidget 
            android:id="@android:id/tabs"   
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@android:color/black" 
        />        
    </RelativeLayout>

</TabHost>
bubuko.com,布布扣

布局效果理解:
bubuko.com,布布扣

 

2.Activity类实现

bubuko.com,布布扣
package com.test.appdemo1.actlearn;

import com.test.appdemo1.R;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

@SuppressWarnings("deprecation")
public class TabOptTopAct extends TabActivity {

    private TabHost tabHost;    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabtoplayout);
        initTab();
    }

    private void initTab() {
        tabHost = getTabHost();
        TabSpec tabSpec = null;
        Intent  intent = new Intent(this,MainActivity.class);
        //第一个        
        tabSpec = tabHost.newTabSpec("tab1")
                .setIndicator("首页",getResources().getDrawable(R.drawable.home))
                .setContent(intent);
        tabHost.addTab(tabSpec);
        
        //第二个        
        intent = new Intent(this,NextActivity.class);
        tabSpec = tabHost.newTabSpec("tab2")
                .setIndicator("邮件",getResources().getDrawable(R.drawable.mail))
                .setContent(intent);
        tabHost.addTab(tabSpec);
        
        //第三个    
        intent = new Intent(this,ServiceActDemo.class);
        tabSpec = tabHost.newTabSpec("tab3")
                .setIndicator("音乐",getResources().getDrawable(R.drawable.music))
                .setContent(intent);
        tabHost.addTab(tabSpec);
        
        //第四个    
        intent = new Intent(this,FrameLearnLayoutAct.class);
        tabSpec = tabHost.newTabSpec("tab4")
                .setIndicator("计算",getResources().getDrawable(R.drawable.calc))
                .setContent(intent);
        tabHost.addTab(tabSpec);
        
        tabHost.setCurrentTab(1);
    }
    
    public void onBackPressed() {
        super.onBackPressed();
        finish();
    }
}
bubuko.com,布布扣

最后说明:如果想把选项卡放到顶部只需修改布局文件中RelativeLayout里面的三个元素的位置

若有问题请大家指正.

程序运行效果如上图片所示.

Android选项卡TabHost方式实现,布布扣,bubuko.com

Android选项卡TabHost方式实现

原文:http://www.cnblogs.com/coacaio/p/3577646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!