css 如何在一个TextInputEditText中将drawable左水平对齐成一条带提示的完美直线,并将它们都贴到底部?

toiithl6  于 2022-12-24  发布在  其他
关注(0)|答案(2)|浏览(96)

我需要设置drawableLeft与提示水平对齐,并将它们都移近TextInputEditText的底部。我已经尝试了很多属性,但都没有效果!我可能错过了什么吗?
Drawable似乎是我想要的地方,但我需要下面的提示来与drawable对齐。

<?xml version="1.0" encoding="UTF-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/tv_login_dialog_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello!"
        android:textAlignment="center"
        android:textColor="@color/teal_700"
        android:textSize="32sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/til_email_user_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        app:boxBackgroundColor="@android:color/transparent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tv_login_dialog_title">
        >

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/ti_et_email_user_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/ic_baseline_email_24"
            android:gravity="bottom"
            android:hint="@string/field_hint_email"
            android:inputType="textEmailAddress" />

    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/til_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        app:boxBackgroundColor="@android:color/transparent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/til_email_user_id">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/ti_et_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/ic_baseline_lock_24"
            android:gravity="bottom"
            android:hint="@string/field_hint_password" />
    </com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

zynd9foi

zynd9foi1#

仅删除

android:drawableLeft="Drawable"

从文本输入编辑文本并添加

app:startIconDrawable="Drawable"

文本输入布局
也可以从下面的代码替换TextInputLayout

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/til_email_user_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/share_card"
        android:background="@android:color/transparent"
        app:boxBackgroundColor="@android:color/transparent"
        app:startIconDrawable="@drawable/icn_sort_by"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tv_login_dialog_title">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/ti_et_email_user_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textEmailAddress" />

    </com.google.android.material.textfield.TextInputLayout>
a5g8bdjr

a5g8bdjr2#

让你的可绘制高度和重量为24dp。然后将这些添加到你的TextInputEditText中。顺便说一句,这不是官方答案。我每次都这样做。

android:paddingVertical="10dp"
android:drawablePadding="10dp"
android:gravity="center_vertical"

相关问题