java - 在 <Android M 版本中获取 CheckBox 默认 Drawable

标签 java android

我想o 省略Android CheckBox 的默认填充。所以,自定义的 CheckBox 如下。

但它只适用于 >= Android M 的版本。

如何 版本中获取 CheckBox 的默认可绘制对象

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int w=40;
        int h=40;
        setMeasuredDimension(w,h);
        //super.onMeasure(w, h);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        Drawable drawable= null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            drawable = getButtonDrawable();
        }
        drawable.setBounds(-15,-15,55,55);
        drawable.draw(canvas);
        //super.onDraw(canvas);
    }

最佳答案

试试这个方法,

Drawable drawable = CompoundButtonCompat.getButtonDrawable(this);

可以引用文档here如有任何问题,请告诉我。

关于java - 在 <Android M 版本中获取 CheckBox 默认 Drawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44667455/

相关文章:

java - C相当于Java "Character.digit(hexText.charAt(i), 16)"

java - JTable 当前显示多少行?

android - 我应该从客户端发送并行请求,还是发送一个请求并在服务器上并行执行它们?

android - 如何从 Android 中的不同语言环境获取字符串?

java - 检查用户是否来自 Intent

android - 在自定义 ViewGroup 中为 child 设置动画的正确方法

java - 如何打印XML中前十个数据的列表

java - Spring 数据 Neo4j + Kotlin 上的日期转换器

java - 使用 Spring HibernateDaoSupport 进行延迟加载?

android - Xamarin Forms - 如何创建图像叠加层?