如何将widget.TextInputLayout与MaterialSpinner视图对齐?

时间:2015-06-27 12:55:44

标签: android android-layout material-design

我有一个关于MaterialSpinner视图使用的具体问题。

我希望微调器完全对齐在android.support.design.widget.TextInputLayout视图组中包含的EditText的右侧,以便浮动标签支持。

我已尝试过LinearLayout和RelativeLayout(使用align to layout属性),但没有一个正常工作。

我最终看起来像this

到目前为止,我的布局如下:

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

在Android Studio中的布局设计器的预览中,它似乎已对齐,但当我在模拟器或真实设备上运行它时,视图未对齐,如上一屏幕截图所示。< / p>

1 个答案:

答案 0 :(得分:17)

我决定不使用MaterialSpinner视图,尽管浮动标签看起来不错。

我正在使用带有.underline样式的常规Spinner:

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