2015-06-27 16 views
8

Tôi có một câu hỏi cụ thể liên quan đến việc sử dụng chế độ xem MaterialSpinner.Cách căn chỉnh widget.TextInputLayout với chế độ xem MaterialSpinner?

Tôi muốn hộp xoay được căn chỉnh hoàn toàn ở bên phải của EditText được bao bọc trong nhóm xem android.support.design.widget.TextInputLayout để hỗ trợ nhãn nổi.

Tôi đã thử cả LinearLayout và RelativeLayout (sử dụng căn chỉnh cho thuộc tính bố cục) và không có giá trị nào hoạt động chính xác.

Tôi kết thúc bằng một cái gì đó trông giống như this.

Dưới đây là cách bố trí của tôi cho đến nay:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/weightWidget" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"> 

      <EditText 
       android:id="@+id/weight" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:ems="10" 
       android:hint="@string/weight" 
       android:inputType="number" /> 
     </android.support.design.widget.TextInputLayout> 

     <fr.ganfra.materialspinner.MaterialSpinner 
      android:id="@+id/spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:entries="@array/weights_unit_array" 
      app:ms_alignLabels="false" 
      app:ms_arrowColor="#0000FF" 
      app:ms_arrowSize="16dp" 
      app:ms_floatingLabelColor="#00FF00" 
      app:ms_floatingLabelText="floating label" 
      app:ms_hint="@string/unit" 
      app:ms_multiline="false" 
      app:spinnerMode="dialog" /> 
    </LinearLayout> 
</LinearLayout> 

Trong bản xem trước của nhà thiết kế bố trí trong Android Studio, có vẻ như nó thẳng hàng nhưng khi tôi chạy nó, hoặc trên giả lập hoặc một thiết bị thực tế, quan điểm không được căn chỉnh như được hiển thị trong ảnh chụp màn hình trước đó.

Trả lời

17

Tôi quyết định không sử dụng chế độ xem MaterialSpinner mặc dù có vẻ tốt với nhãn nổi.

Tôi đang sử dụng một Spinner thường xuyên với các phong cách .underline áp dụng:

 <Spinner 
      android:id="@+id/height_unit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:entries="@array/heights_unit_array" 
      android:prompt="@string/unit" 
      android:spinnerMode="dialog" 
      style="@style/Widget.AppCompat.Spinner.Underlined" 
      android:layout_gravity="bottom"/> 
+0

Unfortunattely android: gợi ý là không làm việc –

+0

android: gợi ý không được hỗ trợ cho spinners. Thay vào đó, bạn có thể chọn giá trị mặc định. Không lý tưởng nhưng nếu được chọn tốt, giá trị mặc định của bạn sẽ đủ gợi ý cho người dùng, ví dụ: cm. – duke

Các vấn đề liên quan