【发布时间】:2020-01-15 16:22:43
【问题描述】:
我在按钮中放置了一个可绘制对象,该按钮适用于 Android 6,但不适用于 Android 9 设备。
相同的代码,没有例外,只是没有显示。首先,我缩放我的可绘制对象以适合我的按钮并更改可绘制对象的颜色,这是我的代码:
整数 scaleWidth = myButton.getWidth();整数比例高度 =myButton.getHeight();
可绘制的drawable = getResources().getDrawable(R.drawable.myDrawable);
Drawable WrapdDrawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(wrappedDrawable, iColor);
wrappedDrawable.setBounds(0, 0, (int) (wrappedDrawable.getIntrinsicWidth() * 0.5), (int) (wrappedDrawable.getIntrinsicHeight() * 0.5)); ScaleDrawable sd = new ScaleDrawable(wrappedDrawable, 0, scaleWidth, scaleHeight);
myButton.setCompoundDrawables(null, null, sd.getDrawable(), null);
编辑:
这行得通:
Drawable drawable = getResources().getDrawable(R.drawable.xxx);
Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrappedDrawable, iColor);
wrappedDrawable.setBounds(0, 0, (int) (wrappedDrawable.getIntrinsicWidth() * 0.5), (int) (wrappedDrawable.getIntrinsicHeight() * 0.5));
【问题讨论】:
标签: java android android-drawable android-9.0-pie