如何从 Android 中的评分栏中删除填充?

How to remove padding from Rating Bar in Android?

我的应用程序上有评级栏,显示如下:

我尝试将填充设置为 0dp,但视图没有任何变化。

 <RatingBar
      android:id="@+id/ratingBar"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:numStars="5"
      android:layout_marginStart="16dp"
      android:isIndicator="false"
      style="@style/Widget.AppCompat.RatingBar"/>

预期结果:我希望评级栏没有右填充和底部填充。

我将此添加到我的 xml 代码中,它解决了我的问题:

android:scaleX="1"
android:scaleY="1"

内置的 Android 评级栏在视觉上有很大问题,在这种情况下,我宁愿使用 Android 用户所做的改进,根据对象的大小来调整每个星星的大小。 附上一个方便你使用的库,相信这个库会解决你很多开发上的问题。

https://github.com/xckevin/AndroidSmartRatingBar?utm_source=android-arsenal.com&utm_medium=referral&utm_campaign=7405

感谢开发者 kevin.liu (xckevin)。

使用缩放 x 和 y 来减小起始大小和步长以设置星形大小

你可以简单地调整这个

style="@android:style/Widget.DeviceDefault.RatingBar.Small"

而不是

style="@style/Widget.AppCompat.RatingBar

试试这个 xml 代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">

<RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="5"
    android:isIndicator="false"
    style="@style/Widget.AppCompat.RatingBar" />
</LinearLayout>