我怎样才能减小Ratingbar的大小?

在我的活动中,我有一些评级酒吧。 但是这个酒吧的大小太大了! 我怎样才能使它更小?

编辑

感谢Gabriel Negut,我以如下的风格做了这个:

<RatingBar style = "?android:attr/ratingBarStyleSmall" android:numStars = "5" android:rating = "4" /> 

现在,尺寸减小了,但星星数量和等级没有生效! 为什么? 我有7颗星,其中6个被选中。

我发布的原始链接现在已经被破坏(为什么只发布链接不是最好的方法)。 您必须使用ratingBarStyleSmall或从Widget.Material.RatingBar.Smallinheritance的自定义样式(假设您在应用程序中使用Material Design)来deviseRatingBar

选项1:

 <RatingBar android:id="@+id/ratingBar" style="?android:attr/ratingBarStyleSmall" ... /> 

选项2:

 // styles.xml <style name="customRatingBar" parent="android:style/Widget.Material.RatingBar.Small"> ... // Additional customizations </style> // layout.xml <RatingBar android:id="@+id/ratingBar" style="@style/customRatingBar" ... /> 

如果您想以小尺寸显示评级栏,只需将此代码复制并粘贴到您的项目中即可。

  <RatingBar android:id="@+id/MyRating" style="?android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/getRating" android:isIndicator="true" android:numStars="5" android:stepSize="0.1" /> 

这是我的解决scheme,经过很多努力,减less评级栏的小尺寸,甚至没有丑陋的填充

  <RatingBar android:id="@+id/listitemrating" style="@android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleX=".5" android:scaleY=".5" android:transformPivotX="0dp" android:transformPivotY="0dp" android:isIndicator="true" android:max="5" /> 

您可以在RatingBar的XML代码中设置它,使用scaleXscaleY进行相应的调整。 “1.0”将是正常大小,“.0”中的任何内容都会减less,而大于“1.0”的内容也会增加。

 <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleX="0.5" android:scaleY="0.5" /> 

下面的代码片段为我调整了ratingBar的大小

 <RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ratingBar" style="?android:attr/ratingBarStyleIndicator" android:scaleX=".5" android:rating="3.5" android:scaleY=".5" android:transformPivotX="0dp" android:transformPivotY="0dp" android:max="5"/> 

在这里输入图像说明

 <RatingBar style="?android:attr/ratingBarStyleIndicator" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

工作示例

  <RatingBar style="@style/RatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:rating="3.5" android:stepSize="0.5" /> 

并将其添加到您的样式xml文件中

 <style name="RatingBar" parent="android:style/Widget.Material.RatingBar.Small"> <item name="colorControlNormal">@color/primary_light</item> <item name="colorControlActivated">@color/primary_dark</item> </style> 

这样你就不需要自定义ratingBar。

如果您只需要默认样式,请确保您具有以下宽度/高度,否则numStars可能会搞砸:

 android:layout_width="wrap_content" android:layout_height="wrap_content" 

在RatingBar中给出属性style =“?android:attr / ratingBarStyleIndicator”

Interesting Posts