我目前正在尝试使用加权 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
的方法将不胜感激。
最佳答案
用这个..
<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" />
关于android - 当在加权 LinearLayout 中显示时,RatingBar 被水平截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776197/