2015-12-08 77 views
2

我希望微調框顯示在editext視圖的右側。
將微調器對齊編輯文本的右側

當我試着下面的代碼,只有編輯文本出現和微調完全消失。我嘗試了很多東西,但都沒有成功。

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

如何解決這個問題?

回答

4

通過設置其容器LinearLayoutwidth爲 「match_parent」 &設置的TextInputLayout &的width & weightSpinner0dp & 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" /> 

Result

+0

感謝方式它與右邊對齊。但是當我在應用程序中看到微調器略高於editText時。我的意思不是直線 – user305774

+0

刪除您在「TextInputLayout」上設置的邊距。檢查我的編輯。 –

+0

真棒,它的工作。其實你做了什麼? – user305774

0

我希望能夠找出下劃線的錯誤推場了太多,但它似乎像TextInputLayout只是這樣做,因爲這是它被設計:-(