Android之使用Tabhost设计底部标签栏
iPhone中标签栏在底部的这种风格,现在网上都很流行,那么在Android中该怎么实现呢?网上看到几篇文章,其中农民伯伯的一篇比较有参考价值,但方法不是太简便。因为公司的项目也使用到这个技术,我研究后发现写的也过于复杂,后来我就自己琢磨写了一个Demo出来,这个是我看到的网上的最简单的方式,下面直接贴代码了。
1.主Activity
- package com.zhf.TabHostDemo;
- import android.app.ActivityGroup;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TabHost;
- import android.widget.TabWidget;
- import android.widget.TextView;
- import android.widget.TabHost.TabSpec;
-
- public class TabHostDemoActivity extends ActivityGroup {
- private TabHost tabHost;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
-
- LinearLayout tab1=(LinearLayout)LayoutInflater.from(this).inflate(R.layout.action_item, null);
- ImageView icon1=(ImageView)tab1.findViewById(R.id.icon);
- icon1.setBackgroundResource(R.drawable.icon1);
- TextView title1=(TextView)tab1.findViewById(R.id.title);
- title1.setText("Activity1");
-
- LinearLayout tab2=(LinearLayout)LayoutInflater.from(this).inflate(R.layout.action_item, null);
- ImageView icon2=(ImageView)tab2.findViewById(R.id.icon);
- icon2.setBackgroundResource(R.drawable.icon2);
- TextView title2=(TextView)tab2.findViewById(R.id.title);
- title2.setText("Activity2");
-
-
- tabHost = (TabHost) findViewById(R.id.view_tab_host);
- tabHost.setup(getLocalActivityManager());
-
- TabSpec ts1 = tabHost.newTabSpec("Activity1");
- ts1.setIndicator(tab1);
-
- ts1.setContent(new Intent(this, Activity1.class));
- tabHost.addTab(ts1);
-
- TabSpec ts2 = tabHost.newTabSpec("Activity2");
- ts2.setIndicator(tab2);
-
- ts2.setContent(new Intent(this, Activity2.class));
- tabHost.addTab(ts2);
-
-
- TabWidget tw = tabHost.getTabWidget();
- tw.setBackgroundResource(R.drawable.home_tab_bg);
- }
- }
|
2.主布局文件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
-
- <TabHost
- android:id="@+id/view_tab_host"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
-
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:gravity="center"
- android:orientation="vertical" >
-
- <FrameLayout
- android:id="@android:id/tabcontent"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_weight="1"
- android:gravity="center_vertical" >
- </FrameLayout>
-
- <TabWidget
- android:id="@android:id/tabs"
- android:layout_width="fill_parent"
- android:layout_height="52dip"
- android:layout_weight="0">
- </TabWidget>
- </LinearLayout>
- </TabHost>
-
- </LinearLayout>
|
评论暂时关闭