在radiogroup内的Edittext

时间:2014-08-25 06:47:41

标签: android android-layout radio-button

我试图获得如下布局:

|--r1--|---EditText---|

|--r2--|---TextView---|

" r1"小部件和" r2"职位是RadioButton

我希望: r1和r2应该在同一个RadioGroup。 我无法将EditText放在r1旁边。 r2旁边的textview很容易。

有人能帮忙吗?

6 个答案:

答案 0 :(得分:2)

LinearLayout 1 - Horizontal

    linear layout 2 - Vertcal
         RadioGroup with you radio buttons
    close linear layout 2

    linear layout 3 - Vertical
         edit Text here
    close linear layout 3


close LinearLayout 1

希望这种结构有所帮助。

代码..

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

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="RadioButton" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RadioButton" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RadioButton" />
    </RadioGroup>

</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

 </LinearLayout>

</LinearLayout>

谢谢!

答案 1 :(得分:1)

这是:)

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

<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn1" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sample text" />

</RadioGroup>

<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn1" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sample text" />

</RadioGroup>
</LinearLayout>

答案 2 :(得分:0)

试试这个布局

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

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout 
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <RadioButton
                android:id="@+id/radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginTop="20dp"
                android:text="" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/radioButton1"
                android:layout_marginLeft="28dp"
                android:layout_toRightOf="@+id/radioButton1"
                android:ems="10" >

                <requestFocus />
            </EditText>

            <RadioButton
                android:id="@+id/radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/radioButton1"
                android:layout_marginTop="16dp"
                android:text="" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/radioButton2"
                android:layout_alignBottom="@+id/radioButton2"
                android:layout_alignLeft="@+id/editText1"
                android:layout_alignRight="@+id/editText1"
                android:text="Large Text"
                android:textAppearance="?android:attr/textAppearanceLarge" />

        </RelativeLayout>


    </RadioGroup>

</RelativeLayout>

看起来像这样 enter image description here

答案 3 :(得分:0)

您可以使用&#34; GridLayout &#34;实现。我已经完成了我的程序。

答案 4 :(得分:0)

使用此xml布局

<RelativeLayout>
   <RadioGroup>
      <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" />
      <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" />
      <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" />
   </RadioGroup>
   <EditText android:layout_width="match_parent" android:layout_height="wrap_content" />
</RelativeLayout>

和这段代码 radioButton是您要附加EditText

的任何RadioButton的变量
radioButton.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener()
{
   @Override
   public void onGlobalLayout()
   {
      radioButton.getViewTreeObserver().removeOnGlobalLayoutListener(this);
      RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)editText.getLayoutParams();
      params.leftMargin = radioButton.getLeft() + radioButton.getWidth() + littleSpacing;
      params.topMargin = radioButton.getTop() + radioButton.getBaseline() - editText.getBaseline();
   }
});

答案 5 :(得分:0)

<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/dp_8">

       <RadioGroup
            android:id="@+id/rg_ends_after"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <RadioButton
                android:id="@+id/rb_until_cancelled_never"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="@string/txt_until_cancelled_never" />

            <RadioButton
                android:id="@+id/rb_after_occurrence"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="false"
                android:text="@string/txt_after"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />
        </RadioGroup>

        <LinearLayout
            android:id="@+id/layout_occurrence"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="@+id/rg_ends_after"
            app:layout_constraintStart_toStartOf="parent">

            <RadioButton
                android:id="@+id/rb_after_occurrence_dummy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="false"
                android:visibility="invisible"
                android:text="@string/txt_after" />

            <EditText
                android:id="@+id/et_occurrence"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:inputType="number"
                android:maxLength="2"
                android:ems="2"
                android:text="@string/number" />

            <TextView
                android:id="@+id/txt_occurrence"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="bottom"
                android:text="@string/txt_occurrence" />

        </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
相关问题