gpt4 book ai didi

Android setCompoundDrawablePadding 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:19 24 4
gpt4 key购买 nike

我的布局中有一个 TextInputEditText,我需要向其添加一个可绘制端。可绘制端出现,但我无法为其添加可绘制填充端。

下面是我试过的一段代码:

  editText.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.drawable.error), null);
editText.setCompoundDrawablePadding(getResources().getDimensionPixelSize(R.dimen.image_padding));

最佳答案

由于 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 vector drawable 并希望向后兼容 API below 21,请添加以下代码段。

在应用级 build.gradle 中:

android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}

在应用类中:

public class MyApplication extends Application {

@Override
public void onCreate() {
super.onCreate();

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}

关于Android setCompoundDrawablePadding 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53061982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com