android之实现底部TabHost

openkk 12年前

先说布局文件,如下:利用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();     }    });      }  }
转自:http://blog.csdn.net/shang_515/article/details/6781163