3

我是使用 XML 进行设计的初学者:D 这是我的评分栏和朋友的 XML:

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2" >

    <TextView
        android:id="@+id/txtTitle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:textColor="#336699"
        android:textSize="18dp"
        android:textStyle="bold" />

    <RatingBar
        android:id="@+id/rtbHighScore"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:numStars="5"
        android:max="100"
        android:rating="0.0"
        android:stepSize="0.0"
        style="?android:attr/ratingBarStyleSmall"         
        android:layout_weight="1" />

    <ImageView
        android:id="@+id/imgRow"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:layout_marginBottom="5dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="5dp"
        android:gravity="center_vertical"
        android:src="@drawable/rightarrow" />
</LinearLayout>

android:numStars5,但这是我得到的:

在此处输入图像描述

我读到layout_width必须是wrap_content这样,所以评分栏星星会跟随我android:numStars,这就是我将其更改为时得到的结果wrap_content

在此处输入图像描述

我想在我的 textview 右侧(或我的右箭头图像的左侧)创建 5 星评分栏 谢谢:D

4

2 回答 2

4

使用此布局文件获得适当的 5 星。

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:textColor="#336699"
    android:textSize="18dp"
    android:textStyle="bold" />

<RatingBar
    android:id="@+id/rtbHighScore"
    style="?android:attr/ratingBarStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:layout_marginRight="45dp"
    android:max="5"
    android:numStars="5"
    android:rating="0.0"
    android:stepSize="0.0" />

<ImageView
    android:id="@+id/imgRow"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="right"
    android:layout_marginBottom="5dp"
    android:layout_marginRight="15dp"
    android:layout_marginTop="5dp"
    android:gravity="center_vertical"
    />

我认为 android:gravity="center_vertical" 是问题所在。

于 2012-10-04T09:47:16.300 回答
2

好的,我有一个使用相对布局的想法,我还使用了一点拖放:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2" >

    <TextView
        android:id="@+id/txtTitle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="5dp"
        android:gravity="center_vertical"
        android:textColor="#336699"
        android:textSize="18dp"
        android:textStyle="bold" 
        android:layout_weight="1"
        />

    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <RatingBar
            android:id="@+id/rtbHighScore"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            android:layout_marginTop="15dp"
            android:layout_marginRight="45dp"
            android:numStars="5"
            android:max="100"
            android:rating="0.0"
            android:stepSize="0.0"
            style="?android:attr/ratingBarStyleSmall"
            />

        <ImageView
            android:id="@+id/imgRow"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="96dp"
            android:src="@drawable/rightarrow" />

    </RelativeLayout>
</LinearLayout>

这段代码使我的布局“完美”

于 2012-10-05T03:44:43.467 回答