水平布局中的 TextInputLayout 和 2 个 Imageviews
TextInputLayout and 2 Imageviews in an horizontal layout
我正在尝试在水平方向的线性布局中对齐 TextInputLayout 和 2 个 imageView。出于某种原因,我很难将它们放置在水平布局中。这是我到目前为止尝试过的。
<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>
我无法弄清楚我做错了什么。任何帮助表示赞赏。附上输出图像。前面白色的space就是TextInputEditText。
你的布局有两个问题。
首先是你的TextInputEditText
包括这两个属性:
android:layout_width="0dp"
android:layout_weight="1"
这是普遍接受的使用 layout_weight
的模式,但权重仅对 LinearLayout
的直接子级有意义,并且由于此视图包含在 TextInputLayout
中,因此它们在这里不合适。将它们更改为:
android:layout_width="match_parent"
第二个问题是您在 LinearLayout
上指定了 android:weightSum="3.0"
,但它的直接子代只有 2.0
的权重。将该属性的值更改为 2.0
或完全删除 weightSum
属性(这实际上只会导致问题)。
我正在尝试在水平方向的线性布局中对齐 TextInputLayout 和 2 个 imageView。出于某种原因,我很难将它们放置在水平布局中。这是我到目前为止尝试过的。
<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>
我无法弄清楚我做错了什么。任何帮助表示赞赏。附上输出图像。前面白色的space就是TextInputEditText。
你的布局有两个问题。
首先是你的TextInputEditText
包括这两个属性:
android:layout_width="0dp"
android:layout_weight="1"
这是普遍接受的使用 layout_weight
的模式,但权重仅对 LinearLayout
的直接子级有意义,并且由于此视图包含在 TextInputLayout
中,因此它们在这里不合适。将它们更改为:
android:layout_width="match_parent"
第二个问题是您在 LinearLayout
上指定了 android:weightSum="3.0"
,但它的直接子代只有 2.0
的权重。将该属性的值更改为 2.0
或完全删除 weightSum
属性(这实际上只会导致问题)。