Android 4不缩放矢量可绘制

时间:2019-02-01 14:17:49

标签: android drawable scaling android-4.4-kitkat

我正在将代码从Android 7转换回Android 4.4

具体地说,我正在尝试绘制带有自定义轨迹和拇指的自定义开关。在Android 7上,它工作正常,在Android 4上,Thumb可绘制对象并未完全缩放,因此看起来非常难看。

This is how it looks on Android 4, with an unscaled thumb drawable

This is how it looks on Android 7, which is the intended look

由于在XML文件中定义轨迹和拇指会导致Android 4下的应用程序崩溃,因此我在代码中执行以下操作:

    Drawable drawable = VectorDrawableCompat.create(m_resources, switchId, getTheme());
    sw.setTrackDrawable(drawable);

    Drawable thumb = AppCompatResources.getDrawable(this, R.drawable.switch_thumb_small);
    sw.setThumbDrawable(thumb);

文件switch_thumb_small.xml包含一个具有2层的选择器,其中之一: 1.黑色圆圈 2.里面有一个白色的十字架 对于非检查状态 要么: 1.黑色圆圈 2.里面有一个白色的选中标记

但是整个拇指可绘制对象看起来像一个狭窄的鸡蛋,而不是一个圆形,如链接的图像所示。

在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

只需在xml中添加tools:targetApi =“ lollipop”并使用xml设置可绘制对象