Android 从可绘制mdpi而非正确文件夹中提取自定义分级栏图像

Android 从可绘制mdpi而非正确文件夹中提取自定义分级栏图像,android,xml,android-custom-view,ratingbar,Android,Xml,Android Custom View,Ratingbar,我正在使用一个自定义的评级栏来定制星图,但是它从错误的目录中提取了这些图像。我有一个三星Galaxy S3,所以它应该使用drawable xhdpi中的图像,但它使用的是drawable mdpi中的图像 如何使自定义分级栏从正确的目录中提取图像? styles.xml <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progress

我正在使用一个自定义的评级栏来定制星图,但是它从错误的目录中提取了这些图像。我有一个三星Galaxy S3,所以它应该使用
drawable xhdpi
中的图像,但它使用的是
drawable mdpi
中的图像

如何使自定义分级栏从正确的目录中提取图像?

styles.xml

<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/rating_bar_full</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+android:id/background"
          android:drawable="@drawable/rating_empty" />

    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/rating_empty" />

    <item android:id="@+android:id/progress"
          android:drawable="@drawable/rating_filled" />

</layer-list>

@可拉拔/额定钢筋
可绘制/评级\u bar\u full.xml

<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/rating_bar_full</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+android:id/background"
          android:drawable="@drawable/rating_empty" />

    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/rating_empty" />

    <item android:id="@+android:id/progress"
          android:drawable="@drawable/rating_filled" />

</layer-list>

包含分级栏的XML

<RatingBar
    android:id="@+id/rating_bar_friendly"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:numStars="5"
    android:stepSize="1.0"
    style="@style/CustomRatingBar" />


还有另一种方法可以解决这些问题。将
xhdpi图像
放在单独的
可绘制文件夹中
。这样,您就不需要将图像分别放在xhdpi和mdpi中。因此,您必须
创建一个可在res
中绘制的公共文件夹,并将所有图像放在那里。

您能解释一下您是如何知道它在使用图像的吗从mdpi到xhdpi

Android将根据设备的屏幕密度自动从正确的drawables文件夹中选择文件


在我的脑海中,我能看到使用的mdpi图像的唯一方法是,如果您没有相同的xhdpi文件可用。

查看这些答案并告诉我发生了什么。这样我可以在其他方面帮助您。我已经为不同的密度提供了不同的大小。它总是从错误的文件夹中提取图像
mdpi
vs
xhdpi
。这就是我目前正在做的事情,以获得正确大小的图像,但从长远来看,正确的方法是为不同的屏幕密度获得正确大小的图像。不要担心mdpi和xhdpi等屏幕密度。只将图像放在可绘制文件夹中。然后您可以轻松获得输出自定义分级栏图像是mdpi图像与xhdpi图像的大小。我假设它会自动从xhdpi文件夹中拾取图像,因为galaxys3应该从xhdpi文件夹中提取。每个文件夹中都有相同的文件名。也许xhdpi文件夹中的图像大小不正确?我在页面上按照图像大小进行了调整。图像的大小如何不合适?
xhdpi
图像大于
hdpi
,小于
xxhdpi