将 TextView 与单选按钮标签对齐
Align TextView with Radio Button label
目标是将 RadioButton
下的某些元素(例如 TextInputView
)与 Radio Buttons
标签对齐。例子:
如您所见,Radio Buttons
右侧的标签应与下方的元素对齐。我怀疑设置简单的静态边距会有帮助。
示例代码,其中我使用了左边距:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:orientation="vertical"
android:padding="12dp">
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/exactPriceRadio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Set hourly rate"
app:buttonTint="@color/colorPrimary"
android:textSize="18sp"
/>
<android.support.design.widget.TextInputLayout
android:id="@+id/testLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
app:errorEnabled="true">
<com.bitreg.bitregmobile.widgets.PriceEditText
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="0123456789."
android:hint="Enter exact price"
android:inputType="numberDecimal"
android:textColor="@color/colorPrimaryDark"
/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
但是左边距解决方案是不够的,因为它是一个硬编码值,不是动态对齐的。
您可以使用带有空标签的 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_width="match_parent"
android:layout_height="match_parent"
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_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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_width="wrap_content"
android:layout_height="wrap_content"
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>
目标是将 RadioButton
下的某些元素(例如 TextInputView
)与 Radio Buttons
标签对齐。例子:
Radio Buttons
右侧的标签应与下方的元素对齐。我怀疑设置简单的静态边距会有帮助。
示例代码,其中我使用了左边距:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:orientation="vertical"
android:padding="12dp">
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/exactPriceRadio"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Set hourly rate"
app:buttonTint="@color/colorPrimary"
android:textSize="18sp"
/>
<android.support.design.widget.TextInputLayout
android:id="@+id/testLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
app:errorEnabled="true">
<com.bitreg.bitregmobile.widgets.PriceEditText
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="0123456789."
android:hint="Enter exact price"
android:inputType="numberDecimal"
android:textColor="@color/colorPrimaryDark"
/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
但是左边距解决方案是不够的,因为它是一个硬编码值,不是动态对齐的。
您可以使用带有空标签的 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_width="match_parent"
android:layout_height="match_parent"
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_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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_width="wrap_content"
android:layout_height="wrap_content"
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>