定位TextInputLayout的可绘制左侧

时间:2017-02-14 01:27:51

标签: android android-textinputlayout

我试图达到这样的效果:enter image description here

建议的方法是向drawableLeft添加EditText,,但EditText下划线一直延伸到drawable下方。

另一种可能的方法是在ImageView的左侧创建TextInputLayout。这样做的问题是很难让图标与EditText完全一致,因为TextInputLayout的错误消息可以切换额外的高度,具体取决于它是否可见。这需要计算TextInputLayout的错误消息视图高度,并在图标下放置一个占位符,以便在错误消息可见时切换其可见性。

使用TextInputLayout来实现此设计有什么好方法吗?

1 个答案:

答案 0 :(得分:0)

这项工作对我来说,诀窍是将它全部放入水平方向的LinearLayout。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:src="@drawable/ic_user_login_dark"/>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="32dp"
                android:id="@+id/username">

                <EditText

                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/hint_username"
                    android:inputType="textPersonName" />

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

        </LinearLayout>