将微调器对齐到编辑文本的右侧
Align spinner to the right of edit text
我希望 spinner 显示在 editext view 的右侧。
当我尝试下面的代码时,只出现了编辑文本,而微调器完全消失了。我尝试了很多东西,但没有任何效果。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
tools:context=".MyActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/linearlayout1"
android:orientation="horizontal">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textSize="20dp"
android:hint="Duration"
android:layout_gravity="left"
android:gravity="center"
android:layout_marginTop="20dp"
/>
</android.support.design.widget.TextInputLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_gravity="right"
/>
</LinearLayout>
<Button
android:id="@+id/startAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearlayout1"
android:layout_marginBottom="20dp"
android:text="Start Alarm Service" />
<Button
android:id="@+id/stopAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/startAlarm"
android:layout_marginBottom="20dp"
android:text="Stop Alarm" />
</RelativeLayout>
如何解决这个问题?
通过将容器 LinearLayout
的 width
设置为 "match_parent" 并设置 TextInputLayout
的 width
& weight
& Spinner
到 0dp & 50 (分别),你会得到你想要的布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearlayout1"
android:orientation="horizontal"
android:gravity="bottom"
android:layout_marginBottom="20dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textSize="20dp"
android:hint="Duration"
android:layout_gravity="left"
android:gravity="center"
/>
</android.support.design.widget.TextInputLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="50"
/>
</LinearLayout>
<Button
android:id="@+id/startAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearlayout1"
android:layout_marginBottom="20dp"
android:text="Start Alarm Service" />
<Button
android:id="@+id/stopAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/startAlarm"
android:layout_marginBottom="20dp"
android:text="Stop Alarm" />
我也希望能够弄清楚带下划线的错误也将字段向上推,但 TextInputLayout 似乎只是这样做,因为它是这样设计的:-(
我希望 spinner 显示在 editext view 的右侧。
当我尝试下面的代码时,只出现了编辑文本,而微调器完全消失了。我尝试了很多东西,但没有任何效果。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
tools:context=".MyActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/linearlayout1"
android:orientation="horizontal">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textSize="20dp"
android:hint="Duration"
android:layout_gravity="left"
android:gravity="center"
android:layout_marginTop="20dp"
/>
</android.support.design.widget.TextInputLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_gravity="right"
/>
</LinearLayout>
<Button
android:id="@+id/startAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearlayout1"
android:layout_marginBottom="20dp"
android:text="Start Alarm Service" />
<Button
android:id="@+id/stopAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/startAlarm"
android:layout_marginBottom="20dp"
android:text="Stop Alarm" />
</RelativeLayout>
如何解决这个问题?
通过将容器 LinearLayout
的 width
设置为 "match_parent" 并设置 TextInputLayout
的 width
& weight
& Spinner
到 0dp & 50 (分别),你会得到你想要的布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearlayout1"
android:orientation="horizontal"
android:gravity="bottom"
android:layout_marginBottom="20dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="50">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textSize="20dp"
android:hint="Duration"
android:layout_gravity="left"
android:gravity="center"
/>
</android.support.design.widget.TextInputLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="50"
/>
</LinearLayout>
<Button
android:id="@+id/startAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearlayout1"
android:layout_marginBottom="20dp"
android:text="Start Alarm Service" />
<Button
android:id="@+id/stopAlarm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/startAlarm"
android:layout_marginBottom="20dp"
android:text="Stop Alarm" />
我也希望能够弄清楚带下划线的错误也将字段向上推,但 TextInputLayout 似乎只是这样做,因为它是这样设计的:-(