TextInputLayout 中的左图标
Left Icon in TextInputLayout
我正在尝试向我的 TextInputLayout 添加左图标,但文本覆盖了该图标。
当我添加填充时,所有内容都会一起移动。
我试过
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
但它不起作用!
我应该为每一行实现一个 LinearLayout 水平,但我想确保没有更简单的方法来做到这一点
这是我的代码布局:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_calle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et_calle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:hint="Calle"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
是的。目前它是布局上的一个错误。
您可以尝试将 leftPadding 提供给 EditText 或在文本前提供一些 blank_spaces。
确保您使用的是最新的 Design
库,Design
和 AppCompat
所需的全部是:
compile 'com.android.support:design:23.2.0'
尝试同时使用 Design 的库 TextInputLayout
和 AppCompat 的 AppCompatEditText
。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@android:color/white"
android:textColorHint="@color/loginHint">
<android.support.v7.widget.AppCompatEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textEmailAddress|textNoSuggestions"
android:minWidth="350dp"
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:textColor="@android:color/white"
android:textColorHint="@color/loginHint"
android:textCursorDrawable="@null"
app:backgroundTint="@android:color/white"/>
</android.support.design.widget.TextInputLayout>
Here is my code layout:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:drawableLeft="@drawable/icon_user"
android:drawableStart="@drawable/icon_user"
android:drawablePadding="10dp"
android:hint="User Name" />
</android.support.design.widget.TextInputLayout>
android:drawablePadding="10dp"
它的作品
这是在 Android 的问题跟踪器
上报告的错误
https://code.google.com/p/android/issues/detail?id=225836
它现在已在最新版本的设计支持库 (v25.0.1) 中得到修复。只需将所需的依赖项添加到构建 gradle...
dependencies {
compile 'com.android.support:design:25.0.1'
}
很简单,添加passwordToggleEnabled
时自动添加右侧的眼睛图标,drawableLeft
消失了。所以你必须删除 drawableLeft
并只使用 drawableStart
.
<android.support.design.widget.TextInputLayout
android:id="@+id/til_calle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et_calle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:hint="Calle"
android:inputType="text" />
使用 Material Components library you can change the left icon in the TextInputLayout
app:startIconDrawable
属性。
类似于:
<com.google.android.material.textfield.TextInputLayout
android:hint="Hint text"
app:startIconDrawable="@drawable/ic_add_24px"
...>
<com.google.android.material.textfield.TextInputEditText/>
</com.google.android.material.textfield.TextInputLayout>
如果您正在使用 material 输入布局,那么您只需在输入布局的 xml 代码中添加一行
app:startIconDrawable="@drawable/ic_baseline_content_paste_24"
我正在尝试向我的 TextInputLayout 添加左图标,但文本覆盖了该图标。 当我添加填充时,所有内容都会一起移动。
我试过
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
但它不起作用! 我应该为每一行实现一个 LinearLayout 水平,但我想确保没有更简单的方法来做到这一点
这是我的代码布局:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_calle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et_calle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:hint="Calle"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
是的。目前它是布局上的一个错误。 您可以尝试将 leftPadding 提供给 EditText 或在文本前提供一些 blank_spaces。
确保您使用的是最新的 Design
库,Design
和 AppCompat
所需的全部是:
compile 'com.android.support:design:23.2.0'
尝试同时使用 Design 的库 TextInputLayout
和 AppCompat 的 AppCompatEditText
。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@android:color/white"
android:textColorHint="@color/loginHint">
<android.support.v7.widget.AppCompatEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="textEmailAddress|textNoSuggestions"
android:minWidth="350dp"
android:drawableLeft="@drawable/ic_store_white_48dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:textColor="@android:color/white"
android:textColorHint="@color/loginHint"
android:textCursorDrawable="@null"
app:backgroundTint="@android:color/white"/>
</android.support.design.widget.TextInputLayout>
Here is my code layout:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:drawableLeft="@drawable/icon_user"
android:drawableStart="@drawable/icon_user"
android:drawablePadding="10dp"
android:hint="User Name" />
</android.support.design.widget.TextInputLayout>
android:drawablePadding="10dp"
它的作品
这是在 Android 的问题跟踪器
上报告的错误https://code.google.com/p/android/issues/detail?id=225836
它现在已在最新版本的设计支持库 (v25.0.1) 中得到修复。只需将所需的依赖项添加到构建 gradle...
dependencies {
compile 'com.android.support:design:25.0.1'
}
很简单,添加passwordToggleEnabled
时自动添加右侧的眼睛图标,drawableLeft
消失了。所以你必须删除 drawableLeft
并只使用 drawableStart
.
<android.support.design.widget.TextInputLayout
android:id="@+id/til_calle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et_calle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawablePadding="50dp"
android:drawableStart="@drawable/ic_store_white_48dp"
android:hint="Calle"
android:inputType="text" />
使用 Material Components library you can change the left icon in the TextInputLayout
app:startIconDrawable
属性。
类似于:
<com.google.android.material.textfield.TextInputLayout
android:hint="Hint text"
app:startIconDrawable="@drawable/ic_add_24px"
...>
<com.google.android.material.textfield.TextInputEditText/>
</com.google.android.material.textfield.TextInputLayout>
如果您正在使用 material 输入布局,那么您只需在输入布局的 xml 代码中添加一行
app:startIconDrawable="@drawable/ic_baseline_content_paste_24"