我已经实现了android native rating bar,但是当我将星级数设置为10时,它将从屏幕末端切下,它在某些设备中发生的情况,有人可以帮助我如何在所有移动设备上始终显示10星级吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_marginBottom="@dimen/_15sdp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tValueLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_5sdp"
android:textSize="@dimen/_11ssp" />
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/ratingBarStyleIndicator"
android:isIndicator="false"
android:layout_marginTop="@dimen/_5sdp"
android:stepSize="1.0" />
</LinearLayout>
尝试使用此方法以最小化星星大小
android:scaleX=".4"
android:scaleY=".4"
我希望它将与您合作
由于屏幕上没有足够的空间容纳10星,因此您的RatingBar正在从末端切割。解决方法是减小星形。没有直接的方法可以减小恒星的大小。在您的情况下,scaleX和scaleY将起作用。请使用下面的代码为RatingBar
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/ratingBarStyleIndicator"
android:isIndicator="false"
android:scaleX=".8"
android:scaleY=".8"
android:translationX="-10dp"
android:layout_marginTop="5dp"
android:stepSize="1.0" />