我尝试给两个按钮大小相同。我使用以下代码:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow android:id="@+id/tableRow5" >
<Button
android:id="@+id/btn_pre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/pre" />
<Button
android:id="@+id/btn_next"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/next" />
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>
我的错误在哪里?请指教。
答案 0 :(得分:3)
我认为你应该使用LinearLayout而不是tableLayout。并添加
android:layout_weight="1"
按钮的比例。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_pre"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/pre" />
<Button
android:id="@+id/btn_next"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/next" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 1 :(得分:3)
如果您只需要两行按钮,则不需要uid
,ScrollView
或TableLayout
。
只有一个横向TableRow
,其中包含两个LinearLayout
,Button
属性设置为0.50,意味着占据了50%的空间(对于{{ 1}}要工作,你必须将layout_weight
设置为0dp。
layout_weight
答案 2 :(得分:2)
您仍然可以使用TableRow
,因为它是LinearLayout的子类:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow android:id="@+id/tableRow5" >
<Button
android:id="@+id/btn_pre"
android:layout_width="0dp"
android:weight="1"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/pre" />
<Button
android:id="@+id/btn_next"
android:layout_width="0dp"
android:weight="1"
android:layout_height="wrap_content"
android:layout_span="1"
android:text="@string/next" />
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>
答案 3 :(得分:1)
使用match_parent
代替fill_parent
的更好方式,因为在Android文档中有说明:
FILL_PARENT(在API级别8及更高级别重命名为MATCH_PARENT),其中 意味着视图想要与其父视图一样大(减去填充)