5

如何在 android 中使用单选按钮实现 tabHost 的功能?

  • 如何在顶部设计一个自定义单选按钮组,
  • 这样就可以像我们在选项卡主机中那样单击该按钮....显示活动的功能

选项卡.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:orientation="horizontal" >

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


    </RadioGroup>

</LinearLayout>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

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


</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

}

screen1.java & screen2.java r 其他 2 个活动

在此处输入图像描述

4

1 回答 1

3

问题 1如何创建自定义 RadioButton ?

答: 您可以将自定义样式应用到您的 RedioButton。现在有非常简单的方法可以为 UI 控件创建自定义样式。在这里,我向您展示如何为 RedioButton 创建自定义样式:

<style name="MyRadioButtonStyle" parent="@android:style/Widget.CompoundButton.RadioButton">
<item name="android:button">@drawable/custom_btn_radio</item>

为按钮状态创建一个drawble选择器。 res/drawable/custom_btn_radio.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_window_focused="false"
      android:drawable="@drawable/btn_radio_on" />
<item android:state_checked="false" android:state_window_focused="false"
      android:drawable="@drawable/btn_radio_off" />

<item android:state_checked="true" android:state_pressed="true"
      android:drawable="@drawable/btn_radio_on_pressed" />
<item android:state_checked="false" android:state_pressed="true"
      android:drawable="@drawable/btn_radio_off_pressed" />

<item android:state_checked="true" android:state_focused="true"
      android:drawable="@drawable/btn_radio_on_selected" />
<item android:state_checked="false" android:state_focused="true"
      android:drawable="@drawable/btn_radio_off_selected" />

<item android:state_checked="false" android:drawable="@drawable/btn_radio_off" />
<item android:state_checked="true" android:drawable="@drawable/btn_radio_on" />

问题 2 如何在单个 Container 中显示两个 Activity(也许它也是 Activity 的一部分) :没有办法在单个 Activity 类中打开 Activity。您可以在单个 Activity 中打开多个 Fragment。或其他方式在运行时替换单选按钮选择的布局。据我所知,第一个是好方法。

于 2013-10-09T10:19:17.950 回答