Android两个按钮并排成表行

时间:2013-08-25 13:59:18

标签: android button user-interface tablelayout tablerow

我有一个带有图像和两个按钮的tablelayout。我需要将两个按钮放在同一行和相同的大小。 现在我可以在同一行中对齐但是它以不同的大小显示。 背景定义了butons中的图像,但不是大小。 我在代码中定义了图像的属性。 tablelayout的代码

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black" > 
<TableRow
        android:id="@+id/tableRow1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:gravity="center_horizontal" >
            <ImageView
                android:id="@+id/imagePreLoad"
                android:layout_width="wrap_content"
                android:layout_height="250dp"
                android:layout_marginTop="84dp"
                android:background="@drawable/lunafons"
                android:contentDescription="@string/app_name" />
    </TableRow>
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:layout_marginTop="50dp"
        android:layout_gravity="center_horizontal"
        android:background="@color/black" >

        <Button 
                android:id="@+id/btnload"
                android:background="@drawable/btnback"
                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                />
            <Button
                android:id="@+id/btnload"
                android:background="@drawable/btnloadwallpaper"
                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                />
</TableRow>
</TableLayout>

背景代码:

<?xml version="1.0" encoding="UTF-8"?>
<selector 
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
    android:drawable="@drawable/btnload1"
     />

<item android:state_enabled="true"
    android:state_pressed="true"
     android:drawable="@drawable/btnload2"
      />
<item android:state_enabled="true"
    android:state_focused="true"
    android:drawable="@drawable/btnload1" />
<item android:state_enabled="true"
    android:drawable="@drawable/btnload1" />

由于

2 个答案:

答案 0 :(得分:3)

<Button 
        android:id="@+id/btnload"
        android:background="@drawable/btnback"
        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_weight="1"
        />
    <Button
        android:id="@+id/btnload"
        android:background="@drawable/btnloadwallpaper"
        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_weight="1"
        />

因为你正在使用宽度math_parent而它应该是0dp,因为你使用的是重量。

答案 1 :(得分:1)

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ButtonsTable"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
      <Button 
                android:id="@+id/btnload"
                android:background="@drawable/btnback"
                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                />
            <Button
                android:id="@+id/btnload"
                android:background="@drawable/btnloadwallpaper"
                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                />
        </TableRow>
    </TableLayout>