我无法修复表格布局中的评级栏。基本上我想要的是有一个5 stared额定条跨越其宽度,而不管其他行对齐。但要么我在显示器中获得更多或更少的星星。
下面我将直观地解释发生了什么。
试用#1 :如果我在RatingBar行中没有使用任何layout_span和linearlayout,则RatingBar会与第2列对齐,导致第4列截断很多
试用#2 :如果我使用layout_span = 2或3作为评级栏,它又会分别与第3或第4列对齐。现在每当发生这种情况时,ratingBar里面的星数就会增加
试用#3 :如果我使用layout_span = 3放置一个linearlayout并将ratingBar放在其中(当前代码),即使我的layout_width是wrap_cotent,它也不会显示全宽。
似乎RatingBar没有宽度来强制布局超出其他行跨度。
有人可以建议如何解决这个问题吗?
IDEAL SCENARIO: Photoshop,所以发生了一些颜色失真:)
CODE:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".AddEntry" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:padding="2.5dp"
android:background="@color/col1"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:hint="test2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="test3" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:hint="test4" />
</TableRow>
<TableRow
android:padding="2.5dp"
android:background="@color/col2"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test5" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_span="3"
android:hint="test6" />
</TableRow>
<TableRow
android:padding="2.5dp"
android:background="@color/col1"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test7" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="2"
android:layout_marginLeft="5dp"
android:hint="test8" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@drawable/get_google" />
</TableRow>
<TableRow
android:paddingLeft="2.5dp"
android:background="@color/col2"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test9" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="3" >
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:numStars="5"
android:stepSize="1"
android:rating="1" />
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
</TableRow>
</TableLayout>
</ScrollView>
答案 0 :(得分:0)
最好使用小型评级栏
style="?android:attr/ratingBarStyleSmall"
另见以下链接
How to make RatingBar to show five stars
RatingBar displays incorrectly in Android when on same TableRow as TextView