【问题标题】:Android 9 drawable in Button not showingButton中的Android 9 drawable未显示
【发布时间】: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


    【解决方案1】:

    您真的需要以编程方式添加可绘制按钮吗?为什么不尝试我的实现,即在 xml 文件中设置可绘制对象? 此代码已在 Android 7.0 直到 Android 10.0 中测试过。这是我的代码:

                <Button
                    android:id="@+id/btn_tax_receipt"
                    style="@style/page_button"
                    android:drawableTop="@drawable/ic_receipt_light"
                    android:text="@string/title_activity_tax_receipt"
                    android:textStyle="bold"
                    tools:layout_editor_absoluteX="27dp"
                    tools:layout_editor_absoluteY="225dp" />
    

    你可以通过改变android:drawableTint的颜色值来改变drawable的颜色

    或者使用这种更简单的方法:

    【讨论】:

    • 你是对的,你的解决方案对我有用,但我已经找到了解决方案,只需编辑我的问题,无论如何谢谢 :)
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多