【问题标题】:Android two buttons side by side into table rowAndroid 两个按钮并排成表格行
【发布时间】:2013-08-28 02:15:23
【问题描述】:

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

<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" />

谢谢

【问题讨论】:

    标签: android button user-interface tablelayout tablerow


    【解决方案1】:
    <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 因为你正在使用重量。

    【讨论】:

      【解决方案2】:
      <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>
      

      【讨论】:

      • 感谢您的回复,但对我的情况无效,因为我用于修改 tablelayout 属性的代码使按钮显示在另一个之上。
      猜你喜欢
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 2021-04-27
      • 1970-01-01
      • 2018-03-25
      • 2013-01-31
      • 1970-01-01
      相关资源
      最近更新 更多