others - 使用切换按钮的选项卡功能

  显示原文与译文双语对照的内容
73 5

我已经使用tabhost实现了contentents下的动态显示


  • 但如何使用一组切换按钮实现相同的效果

我有的代码。 但是在实现代码的Java部分时有歧义

使用案例为: 如果单击一个切换按钮,则必须在 fragment 区域中显示一个 Activity的布局。 如果我单击其他选项。

和tabhost里发生的一样。 这里使用切换开关

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

关于如何实现功能的任何想法

时间: 原作者:

115 2

使用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代码中的register onclick方法。

    @Override public void onClick(View 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;
     }
    
    }
    
    
...