![](/img/trans.png)
[英]Fixed left and right arrow buttons at the either side of the horizontal scrollview
[英]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應該知道其寬度。 但是在HorizontalScrollView中,LinearLayout不知道它應該多大,它必須首先測量其子視圖以獲取總大小。 在這種情況下,由於沒有剩余空間,因此配重無法工作。 LinearLayout的寬度等於Button的寬度總和。
我認為您必須在代碼中設置寬度。 將每個按鈕的寬度設置為screenWidth / 3。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.