【问题标题】:Custom RatingBar images being pulled from drawable-mdpi instead of the correct folder从 drawable-mdpi 而不是正确的文件夹中提取自定义 RatingBar 图像
【发布时间】:2014-04-02 02:45:43
【问题描述】:

我正在使用带有自定义星形图像的自定义评级栏,但它从错误的目录中提取图像。我有一台三星 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>

drawable/rating_bar_full.xml

<?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>

包含 RatingBar 的 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" />

【问题讨论】:

    标签: android xml android-custom-view ratingbar


    【解决方案1】:

    你能解释一下你是如何知道它使用来自 mdpi 和 xhdpi 的图像的吗?

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

    https://developer.android.com/training/multiscreen/screendensities.html

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

    【讨论】:

    • 自定义评分栏图像是 mdpi 图像与 xhdpi 图像的大小。我假设它会自动从 xhdpi 文件夹中选择图像,因为 Galaxy s3 应该从 xhdpi 文件夹中提取。每个文件夹中的文件名相同。
    • 也许您的 xhdpi 文件夹中的图像尺寸不正确?
    • 我按照http://developer.android.com/design/style/iconography.html 页面上的图像大小调整。图片尺寸不合适怎么办? xhdpi 图像大于hdpi 并且小于xxhdpi
    【解决方案2】:

    还有另一种方法可以解决这些问题。将您的xhdpi images 放在单独的drawable folder 中。所以您不需要将图像分别放在xhdpi 和mdpi 中。所以您必须create a common folder drawable in res 并将所有图像放在那里.

    【讨论】:

    • 查看这些答案并告诉我发生了什么。这样我就可以通过其他方式为您提供帮助。
    • 我已经为不同的密度准备了不同的尺寸。它只是总是从错误的文件夹中提取图像。 mdpixhdpi.
    • 这是我目前正在做的以获得正确尺寸的图像,但从长远来看,正确的方法是为不同的屏幕密度获得正确尺寸的图像。
    • 永远不要担心像 mdpi 和 xhdpi 这样的屏幕密度。将图像只放在可绘制文件夹中。然后您可以轻松获得输出
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2021-01-31
    相关资源
    最近更新 更多