如何在api21下将vector drawable设置为EditText?
How to set vector drawable into EditText under api 21?
在我的应用程序中,我想在 EditText
.
的右侧显示矢量 drawable
我从 Vector Asset 添加了这个 drawable 矢量到 android studio!
但是当 运行 应用程序显示强制关闭错误时。
Xml代码:
<EditText
android:id="@+id/signInFrag_phoneEdt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="@string/insertYourPhoneNumber"
android:maxLines="1"
android:drawableRight="@drawable/ic_phone_android"
android:paddingLeft="@dimen/_10sdp"
android:paddingRight="@dimen/_10sdp"
android:singleLine="true"
android:maxLength="11"
android:inputType="phone"
android:textColorHint="@color/colorLightGray"
android:textSize="@dimen/_12sdp"
android:drawableEnd="@drawable/ic_phone_android"/>
我在 gradle.build
文件的 android
和 defaultConfig
中添加了 vectorDrawables.useSupportLibrary = true
。
错误信息:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_phone_android.xml from drawable resource ID #0x7f0700b3
at android.content.res.Resources.loadDrawable(Resources.java:2096)
at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
at android.widget.TextView.<init>(TextView.java:814)
at android.widget.EditText.<init>(EditText.java:60)
at androidx.appcompat.widget.AppCompatEditText.<init>(AppCompatEditText.java:73)
at androidx.appcompat.widget.AppCompatEditText.<init>(AppCompatEditText.java:69)
at androidx.app
我也将这一行添加到 application class : AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
我该如何解决这个问题?
将此行添加到您的 MainActivity
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
试试
app:drawableEndCompat="@drawable/ic_phone_android"
支持应包含在build.gradle
:
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
在我的应用程序中,我想在 EditText
.
的右侧显示矢量 drawable
我从 Vector Asset 添加了这个 drawable 矢量到 android studio!
但是当 运行 应用程序显示强制关闭错误时。
Xml代码:
<EditText
android:id="@+id/signInFrag_phoneEdt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="@string/insertYourPhoneNumber"
android:maxLines="1"
android:drawableRight="@drawable/ic_phone_android"
android:paddingLeft="@dimen/_10sdp"
android:paddingRight="@dimen/_10sdp"
android:singleLine="true"
android:maxLength="11"
android:inputType="phone"
android:textColorHint="@color/colorLightGray"
android:textSize="@dimen/_12sdp"
android:drawableEnd="@drawable/ic_phone_android"/>
我在 gradle.build
文件的 android
和 defaultConfig
中添加了 vectorDrawables.useSupportLibrary = true
。
错误信息:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_phone_android.xml from drawable resource ID #0x7f0700b3
at android.content.res.Resources.loadDrawable(Resources.java:2096)
at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
at android.widget.TextView.<init>(TextView.java:814)
at android.widget.EditText.<init>(EditText.java:60)
at androidx.appcompat.widget.AppCompatEditText.<init>(AppCompatEditText.java:73)
at androidx.appcompat.widget.AppCompatEditText.<init>(AppCompatEditText.java:69)
at androidx.app
我也将这一行添加到 application class : AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
我该如何解决这个问题?
将此行添加到您的 MainActivity
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
试试
app:drawableEndCompat="@drawable/ic_phone_android"
支持应包含在build.gradle
:
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'