2013-04-08 77 views
0

我是一個初學者,試圖創建一個計算器。如何在Android應用程序中對齊LinearLayout中的按鈕?

我無法對齊單個的3個按鈕LinearLayout

我對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個按鈕在單行?

回答

0

你可以試試這個:

<LinearLayout 
      android:orientation="vertical" 

       ......> 

    <EditText> 

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

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

    </LinearLayout> 

</LinearLayout> 
0

您可以在內部LinearLayout其他用戶使用android:orientation="horizontal"說:

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

,或者你可以嘗試用Horizontal方向插入StackPanel內的按鈕:

<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)

0

使用第二LinearLayout中的第一個的內部。將其放在edittext下。將其方向設置爲水平並將所有按鈕放入其中。設置按鈕以填充父項。將每個按鈕的權重更改爲1.現在,所有三個按鈕的大小都相同。

0

使用的內部線性佈局要做到這一點:

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

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

</LinearLayout>