我有一个表格布局,其中有3个按钮可以缩放以填充屏幕底部。我想用滚动视图替换这些按钮以适应更多按钮。我添加了一个scrollview并添加了按钮,但它们的宽度减小到宽度的1/4,宽度为四个按钮。 scrollview工作正常,但我无法缩放它或按钮,而在较大的显示器上,按钮仍然很小,用于缩放。
这是我的行代码:
<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?
答案 0 :(得分:0)
这有点难以解释。
在测量儿童视图时,LinearLayout将首先尝试根据子视图的大小将其空间划分为子视图,然后根据其重量划分剩余的空间。
在划分空格之前,父LinearLayout应该知道它的宽度。但在HorizontalScrollView中,LinearLayout不知道应该有多大,它必须首先测量其子视图以获得总和大小。在这种情况下,重量不能工作,因为没有剩余空间。 LinearLayout的宽度等于按钮的宽度总和。
我认为你必须在代码中设置宽度。将每个按钮的宽度设置为screenWidth / 3。