首页 > 代码库 > android之实现底部TabHost

android之实现底部TabHost

转:http://www.open-open.com/lib/view/open1330697955842.html

先说布局文件,如下:利用android:layout_alignParentBottom="true" 实现底部显示

<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@android:id/tabhost"      android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <RelativeLayout        android:background="@drawable/g"        android:layout_width="fill_parent"        android:layout_height="fill_parent">    <TabWidget android:id="@android:id/tabs"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true">    </TabWidget>    <FrameLayout android:id="@android:id/tabcontent"        android:layout_width="fill_parent"        android:layout_height="fill_parent">        <RelativeLayout android:id="@+id/tabFirst"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:orientation="vertical">        <AnalogClock            android:id="@+id/widget31"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_centerInParent="true">        </AnalogClock>        </RelativeLayout>>        <RelativeLayout android:id="@+id/tabSecond"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:orientation="vertical">            <DigitalClock                android:layout_centerInParent="true"                android:layout_width="wrap_content"                android:layout_height="wrap_content">            </DigitalClock>        </RelativeLayout>    </FrameLayout>    </RelativeLayout></TabHost>

下面是主程序代码,注释写的比较详细,这里就不在多解释了

package com.cloay;import android.app.TabActivity;import android.graphics.Color;import android.os.Bundle;import android.widget.TabHost;import android.widget.TabHost.OnTabChangeListener;import android.widget.Toast;public class TabTestActivity extends TabActivity {    TabHost tabHost;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        //获取TabHost对象        tabHost = getTabHost();   //        tabHost.setup();        //新建一个newTabSpec,设置标签和图标(setIndicator),设置内容(setContent)        tabHost.addTab(tabHost.newTabSpec("Test one").setIndicator("",getResources().getDrawable(android.R.drawable.ic_menu_call)).setContent(R.id.tabFirst));        tabHost.addTab(tabHost.newTabSpec("Test two").setIndicator("",getResources().getDrawable(android.R.drawable.ic_menu_camera)).setContent(R.id.tabSecond));        //设置TabHost的背景颜色        tabHost.setBackgroundColor(Color.argb(150,22,70,150));        //设置TabHost的背景图片资源//        tabHost.setBackgroundResource(R.drawable.bg);        //设置当前现实哪一个标签        tabHost.setCurrentTab(0);   //0为标签ID        //标签切换处理,用setOnTabChangedListener            tabHost.setOnTabChangedListener(new OnTabChangeListener(){            public void onTabChanged(String tabId){                Toast.makeText(TabTestActivity.this, "This is a Test!", Toast.LENGTH_LONG).show();            }        });    }}