将 TextView 与单选按钮标签对齐
Posted
技术标签:
【中文标题】将 TextView 与单选按钮标签对齐【英文标题】:Align TextView with Radio Button label 【发布时间】:2017-04-04 03:43:03 【问题描述】:目标是将RadioButton
下的某些元素(例如TextInputView
)与Radio Buttons
标签对齐。例子:
如您所见,Radio Buttons
右侧的标签应与下面的元素对齐。我怀疑设置简单的静态边距会有所帮助。
示例代码,我使用左边距的地方:
<LinearLayout
android:layout_
android:layout_
android:layout_margin="12dp"
android:orientation="vertical"
android:padding="12dp">
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/exactPriceRadio"
android:layout_
android:layout_
android:text="Set hourly rate"
app:buttonTint="@color/colorPrimary"
android:textSize="18sp"
/>
<android.support.design.widget.TextInputLayout
android:id="@+id/testLayout"
android:layout_
android:layout_
android:layout_marginLeft="24dp"
app:errorEnabled="true">
<com.bitreg.bitregmobile.widgets.PriceEditText
android:id="@+id/test"
android:layout_
android:layout_
android:digits="0123456789."
android:hint="Enter exact price"
android:inputType="numberDecimal"
android:textColor="@color/colorPrimaryDark"
/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
但是左边距解决方案是不够的,因为它是一个硬编码的值,不是动态对齐的。
【问题讨论】:
你试过margin吗? 是的,现在我使用手工挑选的边距,但每个设备需要不同。不幸的是,我认为这不是一个很好的解决方案。 你能把代码贴出来吗? 对于您需要根据大小创建 xml 的每个设备 @Necroqubus 在此处发布您的 xml 代码。 【参考方案1】:您可以使用带有空标签的RadioButton
+ TextView
来显示标签。这样,您需要将 EditText
与 TextView
对齐
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mvl.dagger2testapp.MainActivity">
<RadioButton
android:id="@+id/radioButton"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/textView"
android:layout_
android:layout_
android:layout_alignBottom="@+id/radioButton"
android:layout_alignParentTop="false"
android:layout_alignTop="@+id/radioButton"
android:layout_toEndOf="@+id/radioButton"
android:layout_toRightOf="@+id/radioButton"
android:gravity="center"
android:text="Label For RadioBUtton" />
<EditText
android:id="@+id/editText"
android:layout_
android:layout_
android:layout_below="@+id/textView"
android:layout_toEndOf="@+id/radioButton"
android:layout_toRightOf="@+id/radioButton"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />
</RelativeLayout>
【讨论】:
好主意!谢谢以上是关于将 TextView 与单选按钮标签对齐的主要内容,如果未能解决你的问题,请参考以下文章