美好的一天,我有点困惑和遗憾,如果它是公布的,但我找不到正确的答案。我的任务是创建带有自定义绘图的小部件(RadioButton,RatingBar)+使它们高品质,而不是模糊。自定义小部件中的可绘制分辨率
这里是我的问题和我试过的。因此,举例来说,我有自定义绘制的单选按钮:
radioButtonArray[i].setButtonDrawable(R.drawable.radio_button_selector);
radio_button_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/rb_unchecked" android:state_checked="false"/>
<item android:drawable="@drawable/rb_checked" android:state_checked="true"/>
</selector>
现在的问题是在可绘制的质量。如果我将在不同的px大小的不同文件夹(hdpi,mdpi,xhdpi ...)中添加rb_unchecked.png
和rb_checked.png
,那么我的单选按钮在某些手机屏幕上会很大。好的,接下来我尝试的是以编程方式设置我的单选按钮的宽度和高度,但发现它很难并且效率不高(例如,我与RatingBar具有相同的情况,我无法找到如何设置自定义宽度和高度的物品)。我尝试过的另一个解决方案是将rb_unchecked.png
和rb_checked.png
仅添加到尺寸为18px * 18px的drawable
文件夹中,并且一方面它解决了问题,尺寸正确,但单选按钮现在是低分辨率和模糊。
我的quastion是我做错了什么?我预计在具有不同dp android的设备上会在hdpi/xhdpi文件夹中获取特定图像,并将其缩放到特定大小,但不是来自特定文件夹的此图像只是wrap_content |作物在我的自定义小部件?