android studio:调整ratingBar的明星位置

时间:2017-08-10 07:32:23

标签: android ratingbar

更新:当我将其更改为ConstraintLayout而不是RelativeLayout时,我更容易调整星星并使其正确。但我仍然想知道是否有办法在ReletiveLayout中进行调整。有什么想法吗?

我使用android studio制作带有ratingBar的APP。现在我的问题是,无论我如何调整ratingBar的位置,它都无法在虚拟机或真实设备上正确显示。例如,当它完成并在XML设计页面的中间位置时,在设备上最右边的星的最右边角被切一点,如下图所示:

rightmost corner is cut a little bit

调整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,这有关系吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

我在AS中尝试了你的xml代码并且它正常工作。将其置于线性或相对中并不会产生任何影响。但是,如果您遇到问题,请尝试将layout_widthwrap_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" />