如何让两个按钮大小相等并占据父母的所有宽度?

时间:2015-04-11 14:50:01

标签: android

有两个按钮:

<LinearLayout 
    android:layoutWidth="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center">

   <Button 
       android:id="@+id/btn1"
       android:layoutWidth="wrap_content"
       android:layout_height="wrap_content"
       android:text="Launch camera"
       android:onClick="launchCamera" />

   <Button 
       android:id="@+id/btn2"
       android:layoutWidth="wrap_content"
       android:layout_height="wrap_content"
       android:text="List of photos"
       android:onClick="listPhotos" />

</linearLayout>

如何使这两个按钮具有相同的大小并跨越其所有父宽度?

5 个答案:

答案 0 :(得分:4)

使用&#34; weightSum&#34; LinearLayout和&#34; layout_weight&#34;的属性和&#34;宽度&#34;在其子项(Buttons)处为零,此Link用于解释什么是android:weightSum及其在Android中的工作原理

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2"
    android:gravity="center">

    <Button
        android:id="@+id/btn1"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="Launch camera"
        android:onClick="launchCamera" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="List of photos"
        android:onClick="listPhotos" />
</LinearLayout>

答案 1 :(得分:3)

答案:

非常重要,两个buttons并排排列(android:orientation="horizontal")并注意到android:layout_weight="1"

<LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">
  <Button
        android:id="@+id/btn1"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="Launch camera"
        android:onClick="launchCamera" />
  <Button
        android:id="@+id/btn2"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="List of photos"
        android:onClick="listPhotos" />
</LinearLayout>

请在此处查看其他示例:Linear Layout and weight in Android

权重示例,仅使用布局和颜色:

enter image description here

答案 2 :(得分:2)

您可以在按钮上使用LinearLayout上的android:weightSum和android:layout_weight。

<LinearLayout android:layoutWidth="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2"
    android:gravity="center">
   <Button android:id="@+id/btn1"
       android:layoutWidth="match_parent"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:text="Launch camera"
       android:onClick="launchCamera" />
   <Button android:id="@+id/btn2"
       android:layoutWidth="match_parent"
       android:layout_weight="1"
       android:layout_height="wrap_content"
       android:text="List of photos"
       android:onClick="listPhotos" />
</LinearLayout>

答案 3 :(得分:1)

使用重量:

<?php

error_reporting(E_ALL); ini_set('display_errors', 1);
include "connect.php";

// Just select all the columns.
$query = "SELECT HouseID, DatePurchased, AskingFor, SoldFor from purchase";

// Execute the query
$result = mysqli_query($con, $query);

// Then output only the columns you want.
echo "<table><thead><tr>";
foreach ($_POST["choice"] as $column) {
    echo "<th>$column</th>";
}
echo "</tr></thead><tbody>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { // 
    echo "<tr>";
    foreach ($_POST['choice'] as $column) {
        echo "<td>{$row[$column]}</td>";
    }
    echo "</tr>";
}
echo "</tbody></table>";
?>

答案 4 :(得分:0)

使用LinearLayout Weight

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:orientation="horizontal">
 <Button
    android:id="@+id/btn1"
    android:text="Launch camera"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:layout_weight="0.5"
    android:onClick="launchCamera" />
 <Button
    android:id="@+id/btn2"
    android:text="List of photos"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:layout_weight="0.5"  />    
</LinearLayout>

默认权重总和为1.0,因此在这个2个子视图的示例中,0.5就足够了。