Поскольку getResources().getDrawable
устарело, вместо него лучше использовать ContextCompat.getDrawable()
. Если drawablePadding
не изменяется и не требуется обрабатывать его программно, попробуйте установить его в файле xml
.
editText.setCompoundDrawablesWithIntrinsicBounds(
null,
null,
ContextCompat.getDrawable(context, R.drawable.error),
null
);
В макете XML:
<android.support.design.widget.TextInputEditText
android:id="@+id/editText"
...
android:drawablePadding="@dimen/image_padding"
/>
.
Если вы используете векторное изображение для Android и хотите иметь обратную совместимость для API ниже 21 , добавьте следующие фрагменты.
На уровне приложения build.gradle:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
В классе приложений:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}