自定义单选按钮,提供tabhost等功能

时间:2013-10-09 09:46:38

标签: android

如何在android中使用radiobuttons实现tabHost的功能?

  • 如何在顶部设计自定义radiobuton组
  • 这样点击那个按钮就像我们在标签主机中那样做.... 在获得的
  • 中显示活动的功能

tabs.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&amp; screen2.java r其他2个活动

enter image description here

1 个答案:

答案 0 :(得分: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 /抽拉/ 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中打开多个Fragment。或其他方式在单选按钮选择时在运行时替换您的布局。据我所知,第一个是好方法。