RatingBar没有显示所有明星

时间:2017-02-25 10:16:58

标签: android android-widget android-styles

我有这个布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <RatingBar
        android:id="@+id/bar_detail_rating"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="0dp"
        android:isIndicator="true"
        android:max="10"
        android:numStars="10"
        android:padding="0dp"
        android:rating="7"
        android:scaleX="0.7"
        android:scaleY="0.7"
        android:stepSize="1" />

</LinearLayout>

使用android:max = 10,android:numStars = 10,android:stepSize = 1,我希望它显示10颗星,并且通常显示我通过setRating()的每单位幅度的1颗星。但这不会发生。我附上了Android Studio Layout Preview的截图;这几乎就是它在我的Nexus 5上的显示方式。

似乎正确地计算它;对于等级7,它是阴影7/10星(即8 x 7/10 = 5.6星)。

我无法在这里找出问题所在。

Screenshot of Android Studio Layout Preview

2 个答案:

答案 0 :(得分:1)

似乎评级栏中的星星没有被Android调整大小;所以在我的情况下,只有7个空间。在景观布局中,我可以看到10颗星。

调整星星的大小需要一些阅读;但最终遇到了这个:

http://web.archive.org/web/20160323223259/http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/

就我而言,诀窍是定义一种风格:

#Solution 1, get data with delimiter and remove blanck line and carriage return
get-content "C:\temp\test\test1.txt" -delimiter " " | where {$_ -ne " "} |  foreach {$_ -replace "`n", ""}

#Solution 2, import-csv with delimiter and print 2 columns C1 and C2
import-csv "C:\temp\test\test1.txt" -Delimiter " " -Header C1, C2 | foreach {$_.C1;$_.C2}

#Solution 3, variante of solution 2
get-content "C:\temp\test\test1.txt" | ConvertFrom-Csv -Delimiter " " -Header C1, C2 | %{$_.C1;$_.C2}

#Solution 4, variante of solution 3 but with convertfrom-string (autocomun P1 and P2 are builded)
get-content "C:\temp\test\test1.txt" | ConvertFrom-String -Delimiter " " | %{$_.P1;$_.P2}

#Solution 5 with split every row (proposed by TessellatingHeckler )
get-content "C:\temp\test\test1.txt" | foreach {-split $_ }

应用此样式会减小星号并使其适合屏幕。

答案 1 :(得分:-1)

只有0-5 / 5只是这是7/10

<RatingBar
    android:id="@+id/bar_detail_rating"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:rating="3.5"
    />