如果大家想实现下面三个按钮(按钮由图片和文字组成),并且三个按钮控制这三个activity的跳转的话,可以往下看。
效果图大致就是这样了,这三个按钮分别管理者三个activity。接下来看一下布局文件,TabWidget 管理这tabhost中的tab按钮,但却达不到自定义效果那么好看,所以在这里我把它们gone了,但TabWidget 和FrameLayout必须的存在。
在FrameLayout下放置单选群组替代TAB效果,布局效果自己设定。
大家改一下 id 、图片、按钮的标题就能用了。
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!-- Tab导航 最新版 -->
<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" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
<!-- TabWidget管理所有的选项卡,id名是android指定的 -->
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
<!-- Frame下放置单选群组替代TAB效果 -->
<LinearLayout
android:id="@+id/main2"
android:layout_width="match_parent"
android:layout_height="50.5dp"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="#CDC9C9" />
<RadioGroup
android:id="@+id/main_radio"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#ccc"
android:gravity="center_vertical"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center"
android:background="#FFFFFF"
android:gravity="center"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/main_iv_home2"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:src="@drawable/main_home" />
<TextView
android:layout_width="10dp"
android:layout_height="3dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/zhuye"
android:textColor="#8F8F8F"
android:textSize="10dp" />
</LinearLayout>
<View
android:layout_width="1px"
android:layout_height="32dp"
android:background="#F2F2F2" />
<LinearLayout
android:id="@+id/main_iv_find"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:src="@drawable/main_find" />
<TextView
android:layout_width="10dp"
android:layout_height="3dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/faxian"
android:textColor="#8F8F8F"
android:textSize="10dp" />
</LinearLayout>
<View
android:layout_width="1px"
android:layout_height="32dp"
android:background="#F2F2F2" />
<LinearLayout
android:id="@+id/main_iv_user"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1.2"
android:background="@drawable/top_layout_selector1"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:layout_width="22dp"
android:layout_height="22dp"
android:src="@drawable/main_user" />
<TextView
android:layout_width="10dp"
android:layout_height="3dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/yonghu"
android:textColor="#8F8F8F"
android:textSize="10sp" />
</LinearLayout>
</LinearLayout>
</RadioGroup>
</LinearLayout>
</RelativeLayout>
</TabHost>
布局文件弄好之后,我们看一下activity。
public class VossMainActivity extends TabActivity {
private RadioGroup mainTab;
public TabHost tabhost;
LinearLayout main_iv_home1;
LinearLayout main_iv_find;
LinearLayout main_iv_my;
public static LinearLayout main_tab1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main_first_layout);
initView();
tabhost = getTabHost();//获取到tabhost
tabhost.addTab(tabhost.newTabSpec("tab1").setIndicator("1").setContent(new Intent(this, A.class)));//跳转到A activity。
tabhost.addTab(
tabhost.newTabSpec("tab2").setIndicator("2").setContent(new Intent(this, B.class)));
tabhost.addTab(tabhost.newTabSpec("tab3").setIndicator("3").setContent(new Intent(this, C.class)));
tabhost.setCurrentTab(0);//设置进去程序的第一页面为A activity
}
//设置按钮的点击跳转时间
private void initView() {
// TODO Auto-generated method stub
main_tab1 = (LinearLayout) findViewById(R.id.main2);
mainTab = (RadioGroup) findViewById(R.id.main_radio);
main_iv_home1 = (LinearLayout) findViewById(R.id.main_iv_home2);
main_iv_home1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tabhost.setCurrentTab(0);
}
});
main_iv_find = (LinearLayout) findViewById(R.id.main_iv_find);
main_iv_find.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tabhost.setCurrentTab(1);
}
});
main_iv_my = (LinearLayout) findViewById(R.id.main_iv_user);
main_iv_my.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tabhost.setCurrentTab(2);
}
});
}
}
好了,完成了。