我试图获得如下布局:
|--r1--|---EditText---|
|--r2--|---TextView---|
" r1"小部件和" r2"职位是RadioButton
,
我希望:
r1和r2应该在同一个RadioGroup
。
我无法将EditText
放在r1旁边。
r2旁边的textview很容易。
有人能帮忙吗?
答案 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>
看起来像这样
答案 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>