簡體   English   中英

自定義評分欄

[英]Custom rating bar

我在評分欄中有三個針對星星的自定義圖片

在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明

圖層清單(rating_bar_bronze)

<?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/ic_rating_empty"/>
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_rating_half_bronze"/>
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_rating_full_bronze"/>

</layer-list>

xml中的等級欄

<RatingBar
    android:id="@+id/ratingBarNearby"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvProfileSkill"
    android:layout_toRightOf="@+id/ivProfilePhoto"
    android:clickable="false"
    android:isIndicator="true"
    android:numStars="5"
    android:progressDrawable="@drawable/rating_bar_bronze" />

但是我的評分欄始終只顯示一顆被裁剪的星星,如下圖所示 在此處輸入圖片說明

目前,我不知道它是否對您有用,但是我制作了一個可能對您有所幫助的自定義等級欄: SimpleRatingBar

它具有以下特點:

  • 可以正常使用android:layout_width :可以將其設置為wrap_contentmatch_parent或非婚生dp。
  • 任意星數。
  • 任意步長。
  • 可以精確控制星星的大小,也可以設置最大大小。
  • 正常狀態下的可自定義顏色(邊框,星標的填充和背景以及等級欄)。
  • 處於按下狀態時的自定義顏色(邊框,星號的填充和背景以及等級欄)。
  • 可自定義星星之間的大小分隔。
  • 可自定義的星星邊框寬度。
  • 可自定義的星星角半徑。
  • 允許設置OnRatingBarChangeListener
  • 可以將星星填充設置為從左到右或從右到左開始(RTL語言支持)。
  • 視圖中集成了AnimationBuilder,可通過動畫以編程方式設置評分。

這是它的預覽

您可以在jcenterMaven Central找到它。 因此,在您的build.gradle文件中,只需添加您的依賴項即可:

compile 'com.iarcuschin:simpleratingbar:0.1.+'

在您的示例中,您可以將其用作:

<com.iarcuschin.simpleratingbar.SimpleRatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvProfileSkill"
        android:layout_toRightOf="@+id/ivProfilePhoto"
        android:clickable="false"
        android:isIndicator="true"
        app:srb_numberOfStars="5"
        app:srb_stepSize="0.01"
        app:srb_borderColor="@color/your_bronze_color"
        app:srb_fillColor="@color/your_bronze_color"
        />

不需要額外的xml文件:)

我希望它有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM