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效果 .

原文:http://blog.****.net/djx123456/article/details/6687683