无法更改自定义RatingBar的大小

问题描述 投票:2回答:3

我正在尝试为我的Android应用程序制作自定义RatingBar,我可以在其中更改RatingBar的默认大小和颜色。为此,我为CustomRatingBar编写了样式,如下所示:

<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/custom_ratingbar</item>
    <item name="android:minHeight">25dp</item>
    <item name="android:maxHeight">25dp</item>
</style>

但是尺寸没有改变,而是像这样缩小评级栏:enter image description here

可绘制的文件是:custom_ratingbar.xmlcustom_ratingbar_emptycustom_ratingbar_filled

在我的xml中,RatingBar如下所示:

         <RatingBar
                    android:id="@+id/RatingBar"
                    style="@style/CustomRatingBar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:isIndicator="true"
                    android:numStars="5" />

如何在不收缩的情况下更改额定条的星形尺寸?

android xml android-layout android-studio ratingbar
3个回答
3
投票

试试这个 ,

自定义评级栏样式使用android的ratingBar小样式。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar" >
 <item name="android:numStars">5</item>
 <item name="android:rating">4.5</item>
 <item name="android:stepSize">0.5</item>
 <item name="android:layout_width">wrap_content</item>
 <item name="android:layout_height">wrap_content</item>
 <item name="android:paddingBottom">44dip</item>
 <item name="android:layout_marginLeft">4dip</item>
 <item name="android:layout_marginTop">4dip</item>

检查example.是否相同。

其他解决方案是:

Android不会扩展评级栏图标。当你减少minHeight和maxHeight时,android将始终裁剪图片上显示的图标。似乎唯一的解决方案是为具有所需尺寸的星星提供自己的图标,并将minHeight和maxHeight设置为图标的大小。


4
投票

只需在xml布局中将以下行添加到ratingBar即可

    android:scaleX="0.5"
    android:scaleY="0.5"

1
投票

我遇到了同样的问题,即使这个问题很老,我希望这会帮助遇到这种情况的人。

要增加评级栏中星星的大小,我们需要使用android:scaleX和android:scaleY。

请参考以下示例:

<RatingBar
android:id="@+id/ratingBar"
android:numStars="5"
android:rating="4"
android:isIndicator="true"
android:scaleX=".5"
android:scaleY=".5"
android:transformPivotX="0dp"
android:transformPivotY="0dp"
android:layout_marginBottom="-26dp"
android:layout_marginRight="-100dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/FoursquareReviewRating"/>

此外,您还可以在https://en.proft.me/2017/06/18/decorating-ratingbar-android/找到更多详情

© www.soinside.com 2019 - 2024. All rights reserved.