使用切换按钮的标签功能

时间:2013-10-09 05:48:41

标签: android

我已经使用tabhost

在标签下动态显示了竞争对手
  • 但如何使用一组切换按钮实现相同的目标

我已经编写了xml部分的代码....但是在实现代码的Java部分时含糊不清

用例是: 如果我点击一个切换按钮,一个活动的布局必须显示在片段区域的下方.....如果我点击其他等等。 ..

与tabhost中的情况相同....这里使用togglebuttons

main.xml中

<?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" >


    <include layout="@layout/toggle_set_for_tabs" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.10" >
    </FrameLayout>


</LinearLayout>

toggle_set_for_tabs.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/buttonlayout"
    android:layout_width="fill_parent"
    android:layout_height="53dp"
    android:gravity="top"
    android:orientation="horizontal" >

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="ToggleButton" />

    <ToggleButton
        android:id="@+id/toggleButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="ToggleButton" />

    <ToggleButton
        android:id="@+id/toggleButton3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="ToggleButton" />

</LinearLayout>

outputxml

enter image description here

有关如何实施功能的任何想法

1 个答案:

答案 0 :(得分:1)

使用RadioButton会是一个更好的主意。

  • 以下是xml中的单选按钮,其行为类似于标签:

        <RadioButton
            android:id="@+id/rdb1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="0.33"
            android:background="@android:color/white"
            android:button="@null"
            android:gravity="center"
            android:text="Tab1"
            android:textColor="@android:color/black"
            android:textSize="15sp"
            android:textStyle="bold" />
        <RadioButton
            android:id="@+id/rdb2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="0.33"
            android:background="@android:color/white"
            android:button="@null"
            android:gravity="center"
            android:text="Tab2"
            android:textColor="@android:color/black"
            android:textSize="15sp"
            android:textStyle="bold" />
        <RadioButton
            android:id="@+id/rdb3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="0.34"
            android:background="@android:color/white"
            android:button="@null"
            android:gravity="center"
            android:text="Tab3
            android:textColor="@android:color/black"
            android:textSize="15sp"
            android:textStyle="bold" />
           </RadioGroup>
    
    • 在您的java代码中注册onclick方法。

    @覆盖     public void onClick(查看v){

        switch (v.getId()) {
        case R.id.rdb1:
    
            if (rdb1.isChecked()) {
                // load fragment 1
            }
            break;
    
        case R.id.rdb2:
    
            if (rdb2.isChecked()) {
                            // load fragment 2
            }
    
            break;
    
        case R.id.rdb3:
    
            if (rdb3.isChecked()) {
                            // load fragment 3
            }
    
            break;
    
    
        default:
                            // default fragment
            break;
        }
    
    }