首页 > 解决方案 > 如何在android的自定义评分栏中增加星星之间的间距?

问题描述

我在 android 中设计了具有不同可绘制图像的自定义评分栏。我想增加评分栏中星星之间的间距。我知道有一个类似的标题相同的问题。他们使用第三方 SDK 来创建空间。但没有成功。请让我知道如何继续。

活动主.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">

    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="@dimen/_30sdp"
        style="@style/ImageRatingBar"
        android:id="@+id/rate"
        android:stepSize="1"
        android:numStars="5"

        android:layout_marginStart="@dimen/_20sdp"
        android:layout_marginTop="@dimen/_20sdp"/>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

在我的styles.xml 中:

<style name="ImageRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingbar_selector</item>
        <item name="android:minHeight">30dp</item>

    </style>

在我的drawables中,rating_bar_selector.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/grey_star" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/yellow_star" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/yellow_star" />

</layer-list>

标签: androidxmllayoutratingbar

解决方案


推荐阅读