我目前正在尝试使用加权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
的方法将非常感激。
答案 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" />