更新:当我将其更改为ConstraintLayout而不是RelativeLayout时,我更容易调整星星并使其正确。但我仍然想知道是否有办法在ReletiveLayout中进行调整。有什么想法吗?
我使用android studio制作带有ratingBar的APP。现在我的问题是,无论我如何调整ratingBar的位置,它都无法在虚拟机或真实设备上正确显示。例如,当它完成并在XML设计页面的中间位置时,在设备上最右边的星的最右边角被切一点,如下图所示:
调整ratingBar布局的代码如下:
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="7"
android:scaleX="0.7"
android:scaleY="0.7"
android:stepSize="1"
app:layout_constraintBottom_toBottomOf="@id/button3"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true" />
我不知道问题出在哪里,有人有想法吗?
哦,另一个信息是这个ratingBar是在标签式活动的片段页面上设计的,这个页面布局是RelativeLayout,这有关系吗?
提前致谢!
答案 0 :(得分:0)
我在AS中尝试了你的xml代码并且它正常工作。将其置于线性或相对中并不会产生任何影响。但是,如果您遇到问题,请尝试将layout_width
从wrap_content
更改为match_parent
。
答案 1 :(得分:0)
您可以尝试使用此lib:
compile&#39; com.github.techery:properratingbar:0.0.5&#39;
<io.techery.properratingbar.ProperRatingBar
android:id="@+id/reviewRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/v30dp"
android:textSize="@dimen/v32sp"
app:prb_defaultRating="0"
app:prb_symbolicTick="★"
app:prb_tickSpacing="@dimen/v5dp"
app:prb_tickNormalDrawable="@drawable/star_inactive"
app:prb_tickSelectedDrawable="@drawable/star_active"
app:prb_totalTicks="5"
android:stepSize="1"
app:prb_clickable="true" />