3

RatingBar星を 5 つだけ設定しようとしていますが、画面の幅いっぱいに拡大されます。

同様の問題が見つかりました:

ただし、ほとんどの場合、解決策は幅を に設定することwrap_contentですが、私にとっての幅は常にwrap_content.

これが私のレイアウトです。RatingBar一番下までスクロールすると、次の 2 つの sが表示されます。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TableLayout
        android:id="@+id/add_spot_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:shrinkColumns="1"
        android:stretchColumns="1" >

        <TableRow
            android:layout_marginBottom="2sp"
            android:layout_marginTop="2sp" >

            <TextView android:text="Distance:" />

            <TextView android:id="@+id/distancePopup" />
        </TableRow>

        <TableRow
            android:layout_marginBottom="2sp"
            android:layout_marginTop="2sp" >

            <TextView android:text="Address:" />

            <TextView android:id="@+id/addrPopup" />
        </TableRow>

        <TableRow
            android:layout_marginBottom="2sp"
            android:layout_marginTop="2sp" >

            <TextView android:text="Type:" />

            <TextView android:id="@+id/typePopup" />
        </TableRow>

        <TableRow
            android:layout_marginBottom="2sp"
            android:layout_marginTop="2sp" >

            <TextView android:text="Terrain:" />

            <RatingBar
                android:id="@+id/terrainPopup"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:isIndicator="true"
                android:max="5"
                android:numStars="5"
                android:stepSize="1" />
        </TableRow>

        <TableRow>

            <TextView android:text="Difficulty:" />

            <RatingBar
                android:id="@+id/difficultyPopup"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:isIndicator="true"
                android:max="5"
                android:numStars="5"
                android:stepSize="0.1" />
        </TableRow>

        <TableRow
            android:layout_marginBottom="2sp"
            android:layout_marginTop="2sp" >

            <TextView android:text="Description:" />

            <TextView
                android:id="@+id/descPopup"
                android:gravity="top"
                android:lines="2"
                android:maxLines="2"
                android:scrollHorizontally="false" />
        </TableRow>
    </TableLayout>

</ScrollView>

これは次のようになります。

4

4 に答える 4

1

Relative Layout を評価バーの親として使用し、評価バーの wrap_content を使用すると、問題が解決します

于 2016-01-07T06:30:29.777 に答える
1

将来の Google 社員のために、

Amit の回答は、問題の解決に役立ちました。評価ウィジェットに表示される星が多すぎます。

これは、android:layout_width="wrap_content"numstars を考慮に入れるためにウィジェットを に設定する必要があるためです。

于 2014-10-13T09:04:28.203 に答える
0

テーブルレイアウトでは、次のように使用しています

    android:shrinkColumns="1"
    android:stretchColumns="1"

ここでは、同じ列番号を縮小および拡大しています。

私は

android:stretchColumns="1"

そして、それは私のために働いています。

ここに画像の説明を入力

最終レイアウト

<TableLayout
    android:id="@+id/add_spot_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="1" >

    <TableRow
        android:layout_marginBottom="2sp"
        android:layout_marginTop="2sp" >

        <TextView android:text="Distance:" />

        <TextView android:id="@+id/distancePopup" />
    </TableRow>

    <TableRow
        android:layout_marginBottom="2sp"
        android:layout_marginTop="2sp" >

        <TextView android:text="Address:" />

        <TextView android:id="@+id/addrPopup" />
    </TableRow>

    <TableRow
        android:layout_marginBottom="2sp"
        android:layout_marginTop="2sp" >

        <TextView android:text="Type:" />

        <TextView android:id="@+id/typePopup" />
    </TableRow>

    <TableRow
        android:layout_marginBottom="2sp"
        android:layout_marginTop="2sp" >

        <TextView android:text="Terrain:" />

        <RatingBar
            android:id="@+id/terrainPopup"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="true"
            android:max="5"
            android:numStars="5"
            android:stepSize="1" />
    </TableRow>

    <TableRow>

        <TextView android:text="Difficulty:" />

        <RatingBar
            android:id="@+id/difficultyPopup"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="true"
            android:max="5"
            android:numStars="5"
            android:stepSize="0.1" />
    </TableRow>

    <TableRow
        android:layout_marginBottom="2sp"
        android:layout_marginTop="2sp" >

        <TextView android:text="Description:" />

        <TextView
            android:id="@+id/descPopup"
            android:gravity="top"
            android:lines="2"
            android:maxLines="2"
            android:scrollHorizontally="false" />
    </TableRow>
</TableLayout>

于 2013-03-14T02:03:34.667 に答える