我在TextView
中有RatingBar
和LinearLayout
,并且有水平方位。
我想在最左边的区域设置TextView
,在最右边的区域设置RatingBar
。所以我给LinearLayout
一个权重和这两个视图,以便稍后我可以给他们layout_gravity
left
和end
。
但问题是,当我给出评级栏layout_weight
时,它会增加或减少其评级栏编号。我已将评级栏编号设置为固定,但仍然无效。那么如何为layout_weight
设置RatingBar
?
我的代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="10">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="3"
android:layout_marginLeft="10sp"
android:textSize="20sp"
android:text="Service"/>
<RatingBar
android:id="@+id/rbAddFoodItemRatingDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/ratingBarStyleIndicator"
android:numStars="5"
android:max="5"
android:layout_weight="7"
android:theme="@style/RatingBar"
android:rating="3.5"/>
</LinearLayout>
这个XML布局给了我7个评级栏而不是5个吧!这有什么问题?
答案 0 :(得分:1)
将其包裹在线性布局中并将权重设置为
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="10">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="3"
android:layout_marginLeft="10sp"
android:textSize="20sp"
android:text="Service"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="7">
<RatingBar
android:id="@+id/rbAddFoodItemRatingDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/ratingBarStyleIndicator"
android:numStars="5"
android:max="5"
android:theme="@style/RatingBar"
android:rating="3.5"/>
</LinearLayout>
</LinearLayout>