2012-01-02 24 views
1

我有一个图像,如下面enter image description here如何为所需设计选择Android布局?

我在XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 


    <LinearLayout 
     android:id="@+id/titleRowId" 
     android:layout_width="fill_parent" 
     android:layout_height="45dip" 
     android:background="@drawable/segment_bar_bg" 
     android:gravity="center_vertical|center_horizontal" 
     android:orientation="horizontal" > 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

       <Button 
       android:id="@+id/backBtn" 
       android:layout_width="wrap_content" 
       android:layout_height="32dip" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="5dip" 
       android:background="@drawable/bar_btn_bg" 
       android:padding="0dip" 
       android:text="Cancel" 
       android:textColor="#FFF" /> 

       <Button 
       android:id="@+id/addBtn" 
       android:layout_width="wrap_content" 
       android:layout_height="32dip" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="250dip" 
       android:background="@drawable/bar_btn_bg" 
       android:padding="0dip" 
       android:text="Done" 
       android:textColor="#FFF" /> 

       <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" 
        android:gravity="center_vertical|center_horizontal" 
        android:text="Convert Amount" 
        android:textColor="#FFFFFF" 
        android:textSize="20sp" 
        android:textStyle="bold" /> 

     </RelativeLayout> 
</LinearLayout> 

当我绘制的按钮作出了上述杆和按钮,如下,根据以下设计,我在aligments面对的问题, 为我所用TableLayout和行来显示它们,如下

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:binding="http://www.gueei.com/android-binding/" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:gravity="right|top" 
     binding:text="FormattedDisplay" 
     android:text="Value" 
     android:textSize="45dip" /> 

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:stretchColumns="0,1,2"> 

     <TableRow > 

      <Button 
       binding:onClick="Number7" 
       android:text="7" /> 

      <Button 
       binding:onClick="Number8" 
       android:text="8" /> 

      <Button 
       binding:onClick="Number9" 
       android:text="9" /> 
     </TableRow> 

     <TableRow > 

      <Button 
       binding:onClick="Number4" 
       android:text="4" /> 

      <Button 
       binding:onClick="Number5" 
       android:text="5" /> 

      <Button 
       binding:onClick="Number6" 
       android:text="6" /> 
     </TableRow> 

     <TableRow > 

      <Button 
       binding:onClick="Number1" 
       android:text="1" /> 

      <Button 
       binding:onClick="Number2" 
       android:text="2" /> 

      <Button 
       binding:onClick="Number3" 
       android:text="3" /> 
     </TableRow> 

     <TableRow > 

      <Button 
       android:layout_span="2" 
       binding:onClick="Number0" 
       android:text="0" /> 

      <Button 
       binding:onClick="Dot" 
       android:text="." /> 
     </TableRow> 

     <TableRow > 

      <Button 
       binding:onClick="Equal" 
       android:text="Convert" /> 
     </TableRow> 
    </TableLayout> 

</LinearLayout> 

,但它不对齐按钮正确

如何解决问题并获得期望的输出?

谁能告诉我如何选择布局,以便我们可以得到正确的输出?

XML输出显示是

enter image description here

+0

你想要的是什么输出? – 2012-01-02 10:41:41

+0

作为给定的图像,我想这样@RajdeepDua – 2012-01-02 10:42:44

+0

这两个xml文件是如何相关的? – 2012-01-02 10:43:43

回答

3

把你Convert ButtonTableLayoutTableLayout作为后粘贴在里面LinearLayout最后的地方:

<LinearLayout ... > 
    <TextView/> 
    <TableLayout> 
     <TableRows etc> 
    </TableLayout> 
    <Button android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     binding:onClick="Equal" 
     android:text="Convert" /> 
</LinearLayout> 

,这是给我的结果:

ScreenShot

+2

转换按钮可以保留在按钮只能有一个属性'android:layout_span =“3”'。 – Flo 2012-01-02 11:19:18

+0

感谢您的建议。我认为OP应该考虑它。 – 2012-01-02 11:22:50

+0

谢谢:-),都工作,跨度3,和tableLayout :-) – 2012-01-02 11:32:22

0

打开XML布局文件,并添加以下代码

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

</RelativeLayout> 

后,打开图形布局选项卡,并在需要的位置添加所需的部件。您可以根据需要获取所有项目(例如,如上图所示)。尝试这个。这是大布局的正确方法。

+0

这将是在不同的设备问题,不是吗? – 2012-01-02 10:49:04

0

由于不是所有的按钮都有相同的宽度,我建议使用RelativeLayout。使用RelativeLayout,您可以通过告诉每个元素如何将其定位在与其他元素相关的布局中来定义布局。您可以将attributes应用于android:layout_toLeftOfandroid:layout_below等相关布局中的视图来定义位置。

+0

但是按钮的宽度如果我手动给出,那么在不同的设备上,它会有所不同的输出, – 2012-01-02 10:52:35

+0

好吧,我明白了。然后,我会将每行的元素放入LinearLayout中,使其具有水平方向并使用weight属性。使用weight属性可以告诉观察者他们应该以一定比例共享现有空间。 – Flo 2012-01-02 11:02:09

+0

你可以给两个或三个行的演示,因为我不清楚有关android布局的结构,只是代码有点,我会看到,因为它工作与否 – 2012-01-02 11:07:03