在加权LinearLayout

时间:2017-08-19 20:52:43

标签: android android-linearlayout ratingbar android-layout-weight

我目前正在尝试使用加权LinearLayout来平均分割屏幕的宽度。在其中一个中,我想将RatingBar直接放在中心位置。我目前的布局如下:

<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:baselineAligned="false"
   android:orientation="horizontal">

   <LinearLayout
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:orientation="horizontal">

      <RatingBar
         android:id="@+id/rating_bar"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:isIndicator="true"
         android:max="5"
         android:numStars="5"
         android:scaleX="0.5"
         android:scaleY="0.5"
         tools:rating="3" />

   </LinearLayout>

   <View
      android:layout_width="1dp"
      android:layout_height="match_parent"
      android:layout_marginEnd="8dp"
      android:layout_marginStart="8dp"
      android:background="@android:color/darker_gray" />

   <LinearLayout
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:layout_weight="1"
      android:gravity="center"
      android:orientation="horizontal">

      <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="@string/test" />

   </LinearLayout>
</LinearLayout>

我发现的问题是RatingBar被水平切断,只显示3.5星。如果我将RatingBar移出加权LinearLayout,那么它会显示为我所期望的。除了使用加权之外,我不知道另一种方法可以平均分割屏幕。在没有加权的情况下平均分割屏幕的方法或者在内部正确显示RatingBar的方法将非常感激。

1 个答案:

答案 0 :(得分:2)

使用此.. ..

<RatingBar
        android:id="@+id/rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:isIndicator="true"
        android:max="5"
        style="@style/Widget.AppCompat.RatingBar.Indicator"
        android:numStars="5"
        android:scaleX="0.5"
        android:scaleY="0.5"
        tools:rating="3" />