如何在Android应用中的LinearLayout中对齐按钮?

时间:2013-04-08 15:57:22

标签: android android-xml

我是初学者并且正在尝试创建一个计算器。

我无法在单LinearLayout中对齐3按钮。

我对LinearLayout的calculator.xml的代码是。

    <Button
        android:id="@+id/btnOne"
        android:layout_height="wrap_content"
        android:layout_weight="0.32"
        android:layout_width="107dp"
        android:background="@android:color/darker_gray"
        android:text="1" />

    <Button
        android:id="@+id/btnPlus"
        android:layout_height="wrap_content"
        android:layout_weight="0.24"
        android:layout_width="107dp"
        android:text="+" />

    <Button
        android:id="@+id/btnEquals"
        android:layout_width="107dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.31"
        android:text="=" />
</LinearLayout>

enter image description here

如何将3个按钮放在一行?

4 个答案:

答案 0 :(得分:0)

你可以试试这个:

<LinearLayout
           android:orientation="vertical" 

                ......>

    <EditText>

    <LinearLayout
           android:orientation="horizontal" 
            ......>

          <Button .... />
          <Button .... />
          <Button .... />

    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

您可以在内部android:orientation="horizontal"上使用LinearLayout,因为其他用户说:

<LinearLayout 
    android:orientation="horizontal"
    ......>
<Button
    DockPanel.
    android:id="@+id/btnOne"
    android:layout_height="wrap_content"
    android:layout_weight="0.32"
    android:layout_width="107dp"
    android:background="@android:color/darker_gray"
    android:text="1" />

<Button
    android:id="@+id/btnPlus"
    android:layout_height="wrap_content"
    android:layout_weight="0.24"
    android:layout_width="107dp"
    android:text="+" />

<Button
    android:id="@+id/btnEquals"
    android:layout_width="107dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.31"
    android:text="=" />
</LinearLayout>

或者您可以尝试在StackPanel Horizontal方向内插入按钮:

<StackPanel Orientation="Horizontal">
<Button
    DockPanel.
    android:id="@+id/btnOne"
    android:layout_height="wrap_content"
    android:layout_weight="0.32"
    android:layout_width="107dp"
    android:background="@android:color/darker_gray"
    android:text="1" />

<Button
    android:id="@+id/btnPlus"
    android:layout_height="wrap_content"
    android:layout_weight="0.24"
    android:layout_width="107dp"
    android:text="+" />

<Button
    android:id="@+id/btnEquals"
    android:layout_width="107dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.31"
    android:text="=" />
</StackPanel>

我现在不是在尝试代码,所以请告诉我这是否是一个很好的解决方案。

您也可以使用DockPanel左右。我建议你在android中阅读关于Layouts的任何好的教程。这将有助于你理解布局。

Any layout tutorial (random)

答案 2 :(得分:0)

在第一个内部使用第二个LinearLayout。将它放在edittext下面。将其方向设置为水平方向并将所有按钮放入其中。设置按钮以填充父级。将每个按钮的重量更改为1.现在所有三个按钮的大小都相同。

答案 3 :(得分:0)

使用内部线性布局执行此操作:

<LinearLayout
           android:orientation="horizontal" 
            ......>

          <Button .... />
          <Button .... />
          <Button .... />

</LinearLayout>