簡體   English   中英

Droid:水平滾動視圖中的“大小”按鈕

[英]Droid: Size buttons in horizontal scrollview

我有一個表布局,該表布局具有3個按比例縮放的按鈕,以填充屏幕底部。 我想用滾動視圖替換這些按鈕以適合更多按鈕。 我添加了滾動視圖並添加了按鈕,但是它們的寬度減小到寬度的1/4,即四個按鈕的寬度。 滾動視圖可以正常工作,但是我無法縮放它或按鈕,並且在較大的顯示器上,按鈕在用於縮放的位置保持很小。

這是我的行代碼:

    <TableRow
        android:id="@+id/TableRow5"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <HorizontalScrollView
            android:id="@+id/horizontalScrollView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_span="3"
            android:layout_weight="1"
            >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="horizontal"
                android:weightSum="6" >

                <Button
                    android:id="@+id/button_low"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/sgbutton"
                    android:onClick="preLaunch"
                    android:padding="5dp"
                    android:tag="1"
                    android:text="@string/button_label_low"
                    android:textSize="16dp"
                    android:textStyle="normal" />

                <Button
                    android:id="@+id/button_high"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/sgbutton"
                    android:onClick="preLaunch"
                    android:padding="5dp"
                    android:tag="2"
                    android:text="@string/button_label_high"
                    android:textSize="16dp"
                    android:textStyle="normal" />

                <Button
                    android:id="@+id/button_practice"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="5dp"
                    android:layout_weight="1"
                    android:background="@drawable/sgbutton"
                    android:onClick="preLaunch"
                    android:padding="5dp"
                    android:tag="3"
                    android:text="practice"
                    android:textSize="16dp"
                    android:textStyle="normal" />

            <Button
                android:id="@+id/Button012"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/sgbutton"
                android:padding="5dp"
                android:tag="1"
                android:text="@string/button_label_low"
                android:textSize="16dp"
                android:textStyle="normal" />

            <Button
                android:id="@+id/Button011"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/sgbutton"
                android:padding="5dp"
                android:tag="2"
                android:text="@string/button_label_high"
                android:textSize="16dp"
                android:textStyle="normal" />

            <Button
                android:id="@+id/Button013"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/sgbutton"
                android:padding="5dp"
                android:tag="3"
                android:text="practice"
                android:textSize="16dp"
                android:textStyle="normal" />
            </LinearLayout>
        </HorizontalScrollView>
    </TableRow>

如何使按鈕縮放到顯示寬度的1/3?

有點難以解釋。

在測量子視圖時,LinearLayout將首先嘗試根據子視圖的大小將其空間划分給子視圖,然后根據其權重划分其余空間。

在划分空間之前,父級LinearLayout應該知道其寬度。 但是在Horizo​​ntalScrollView中,LinearLayout不知道它應該多大,它必須首先測量其子視圖以獲取總大小。 在這種情況下,由於沒有剩余空間,因此配重無法工作。 LinearLayout的寬度等於Button的寬度總和。

我認為您必須在代碼中設置寬度。 將每個按鈕的寬度設置為screenWidth / 3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM