Android RadioButton实现Tab问题

熊猫大侠到此一游 发布于 2013/05/22 16:16
阅读 2K+
收藏 1

我是一名Java程序猿,最近想学习Android应用开发,于是下载了OSC的Android版本客户端源码。然后参照客户端的功能,自己动手实践。先参照实现了用RadioButton实现的底部Tab栏,以及头部自定义的标题栏,源码中这块的实现也挺好理解。但是,关于展示不同Tab页中的Layout挺迷惑的。 我看源码中是使用了一个自定义的ScrollLayout,并把几个主要界面的Activity都include进来。当然,如果我照搬过来也是一点一点可以做到的。但是我的问题来了:


  1. 假使我现在不实现滑动功能,那我众多的Tab对应的Activity如何切换和实现。
  2. 底部的Tab对应的Activity一般是如何搭配的。我(Android菜鸟中的极品)目前以Web开发的经验可以联想到两种:
        一种是类似于Web中的Frame总局,菜单不动,Frame中的页面切换,感觉现在OSC的实现类似这样。
        另一种是每个Tab对应的Activity都是单独的,都引入共同的自定义标题栏和底部Tab栏。


       关于第二种,觉得又不好,代码重复多,涉及的处理也多,比较繁琐。不知道第一种如果不使用自定义的ScrollLayout控件的话该用什么实现,因为目前我对Android相关的知识还比较浅薄,有些控件具体能实现什么样的效果和用途还不是特明了解。

MainActivity界面 main.xml layout内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <include layout="@layout/titlebar"/>
    <!--此处不知道如何写才好-->
    <include layout="@layout/footbar"/>
</LinearLayout>

标题栏titlebar.xml layout内容

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:background="@drawable/head_bg"
              android:layout_height="40dip">

    <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="5.0dip"
            android:background="@drawable/head_home_normal"
            android:layout_centerVertical="true"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab1"
            android:id="@+id/textView"
            android:layout_toRightOf="@id/imageView"
            android:layout_centerVertical="true"
            android:textColor="#ffffff"
            android:layout_marginLeft="5.0dip"/>
</RelativeLayout>

Tab栏 footbar.xml layout内容

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:gravity="bottom">

        <RadioGroup
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:background="@drawable/toolbar_bg"
                android:layout_gravity="bottom"
                android:orientation="horizontal">
            <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="Tab1"
                    android:button="@null"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:id="@+id/radioButton1"/>
            <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="Tab2"
                    android:button="@null"
                    android:id="@+id/radioButton"
                    android:gravity="center"
                    android:layout_weight="1"
                    android:layout_gravity="center"/>
            <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="Tab3"
                    android:button="@null"
                    android:gravity="center"
                    android:layout_weight="1"
                    android:id="@+id/radioButton2"
                    android:layout_gravity="center"/>
            <RadioButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="Tab4"
                    android:button="@null"
                    android:gravity="center"
                    android:layout_weight="1"
                    android:id="@+id/radioButton3"
                    android:layout_gravity="center"/>
        </RadioGroup>
    </LinearLayout>


这是运行效果。

Android菜鸟,请多指教。


加载中
0
mutouzhang
mutouzhang

楼主有答案了吗 同菜鸟 求此问题解决方案

熊猫大侠到此一游
熊猫大侠到此一游
那个都好久了啊,我都快忘了。
返回顶部
顶部