Android---Tabhost与自定义tab、3个activity

如果大家想实现下面三个按钮(按钮由图片和文字组成),并且三个按钮控制这三个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);
            }
        });

    }
}

好了,完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值