自定义评级栏中星星之间的间距

发布于 2024-12-19 17:35:42 字数 195 浏览 0 评论 0原文

评级栏星星之间的间距?

我有类似的问题,但我没有找到在不更改图像的情况下实现它的解决方案。 也许有人遇到过这样的问题并解决了它。

提前致谢。

Spacing between the stars of a rating bar?

I have similar problem but I didn't find solution to make it without changes of images.
Maybe someome faced with such problem and solved it.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忆沫 2024-12-26 17:35:42

创建使用您自己的图像且图像之间具有不同间距的自定义样式。

在这样的布局中使用它:

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/RatingBarLarge"/>

像这样定义样式:

<style name="RatingBarLarge">
    <item name="android:progressDrawable">@drawable/ic_rating_star_large</item>
    <item name="android:minHeight">29dp</item>
</style>

将 minHeight 设置为可绘制对象的高度。
然后,将 ic_ rating_star_large 定义为如下所示的图层列表:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_rate_star_large_on" />
</layer-list>

Create a custom style that uses your own images with different spacing between them.

Use it in a layout like this:

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/RatingBarLarge"/>

Define the style like this:

<style name="RatingBarLarge">
    <item name="android:progressDrawable">@drawable/ic_rating_star_large</item>
    <item name="android:minHeight">29dp</item>
</style>

Set the minHeight to whatever the height of your drawable is.
Then, define ic_rating_star_large as a layer list like this:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_rate_star_large_off" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_rate_star_large_on" />
</layer-list>
变身佩奇 2024-12-26 17:35:42

您的评级栏是否使用相同类型的代码?

// ?android:attr/ ratingBarStyle- 普通星形

// ?android:attr/ ratingBarStyleSmall - 小星形

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:background="@android:drawable/toast_frame">
    <RatingBar android:layout_width="wrap_content"
        android:layout_height="wrap_content" style="?android:attr/ratingBarStyle"
        android:id="@+id/ratingbar_default" 
        android:layout_marginTop="5dp"
        android:layout_marginLeft="-8dp"

         />
</RelativeLayout>

Are you using this same kind of code for your rating bar?

// ?android:attr/ratingBarStyle- normal star

// ?android:attr/ratingBarStyleSmall - small star

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:background="@android:drawable/toast_frame">
    <RatingBar android:layout_width="wrap_content"
        android:layout_height="wrap_content" style="?android:attr/ratingBarStyle"
        android:id="@+id/ratingbar_default" 
        android:layout_marginTop="5dp"
        android:layout_marginLeft="-8dp"

         />
</RelativeLayout>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文