水平布局中的TextInputLayout和2 Imageview

时间:2017-08-03 19:04:10

标签: android android-orientation

我正在尝试将水平方向的线性布局中的TextInputLayout和2个imageViews对齐。出于某种原因,我在将它们放置在水平布局中时遇到困难。这是我到目前为止所尝试过的。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3.0">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/longDescriptionTextInputLayout"
            style="@style/textfieldbox"
            app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/longDescriptionTextInputEditText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="@null"
            android:layout_weight="1"
            android:drawablePadding="15dp"
            android:textColor="@color/textInputEditTextColor"
            android:drawableStart="@drawable/ic_attach_file_black_24dp"
            android:drawableTint="@color/Gallery"
            android:hint="@string/longDesc"
            android:inputType="textEmailAddress"
            tools:ignore="MissingPrefix,UnusedAttribute" />

        </android.support.design.widget.TextInputLayout>

        <ImageView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:src="@drawable/ic_mic_black_24dp" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:src="@drawable/ic_volume_up_black_48dp"/>

    </LinearLayout>

我无法弄清楚我做错了什么。任何帮助表示赞赏。附加输出的图像。前面的空白区域是TextInputEditText。

Final Result

1 个答案:

答案 0 :(得分:2)

您的布局有两个问题。

首先,您的TextInputEditText包含以下两个属性:

        android:layout_width="0dp"
        android:layout_weight="1"

这是使用layout_weight的普遍接受的模式,但权重仅对LinearLayout的直接子项有意义,并且由于此视图包含在TextInputLayout中,因此它们不是适合这里。将这些更改为:

        android:layout_width="match_parent"

第二个问题是您在android:weightSum="3.0"上指定了LinearLayout,但其直接子项的权重仅为2.0。将该属性的值更改为2.0或完全删除weightSum attr(这实际上只会导致问题)。