如何为期望的设计选择Android布局?

如何为期望的设计选择Android布局?,android,android-layout,Android,Android Layout,我有一个图像,如下所示 我用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:orien

我有一个图像,如下所示

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

当我画按钮时,根据下面的设计,我面临对齐的问题, 正如我使用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输出显示为


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


之后,打开“图形布局”选项卡,并在所需位置添加所需的小部件。您将获得所需的所有项目(例如,如上图所示)。试试这个。这是大型布局的正确方法。

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


之后,打开“图形布局”选项卡,并在所需位置添加所需的小部件。您将获得所需的所有项目(例如,如上图所示)。试试这个。这是大版面的正确方式。

由于并非所有按钮的宽度都相同,我建议使用。使用RelativeLayout,您可以通过告诉每个元素如何在与其他元素相关的布局中定位来定义布局。您可以应用于相对布局中的视图,如
android:layout\u-toLeftOf
android:layout\u下方的

由于并非所有按钮的宽度都相同,我建议使用。使用RelativeLayout,您可以通过告诉每个元素如何在与其他元素相关的布局中定位来定义布局。您可以应用于相对布局中的视图,如
android:layout\u-toLeftOf
android:layout\u下方的

将您的
转换按钮
表格布局
中取出,并将其粘贴到
线性布局
之后的最后一个位置,如下所示:

<LinearLayout ...  >
    <TextView/>
    <TableLayout>
        <TableRows etc>
    </TableLayout>
    <Button android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        binding:onClick="Equal"
        android:text="Convert" />
</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>

这给了我一个结果:



作为给定的图像,我想知道@rajdeepduaho这两个xml文件有什么关联?问题是按钮的对齐,我添加了第二个图像,即在android中输出的图像,第一个xml将生成顶部的栏和两个按钮,这样就可以了,但是关于按钮对齐,我无法解决这一问题看到7、4和1个按钮的大小,这些图像比其他图像大,我想要@rajdeepduaho这两个xml文件相关吗?问题是按钮对齐,我添加了第二个图像,在android中输出,第一个xml将生成顶部的条形图和两个按钮,这样就可以了,但是按钮对齐呢,我无法解决7、4和1按钮的尺寸,它们比其他的都大。这会在不同的设备上出现问题,不是吗?会在不同的设备上出现问题,不是吗?但是按钮的宽度呢,如果我手动给出,那么在不同的设备上,输出会不同,嗯,好的,我明白了。然后,我将把每一行的元素放入水平方向的线性布局中,并使用权重属性。使用权重属性,你可以告诉视图它们应该以一定的比例共享现有空间。你能给出两行或三行的演示吗,因为我不清楚android布局的结构,只需编写一点代码,我会看到,因为它正在工作,或者切克·阿迪尔·苏姆罗回答,他是对的。你们可以把你们的布局调整一下。但按钮的宽度呢,若我手动给出,那个么在不同的设备上,它的输出会有所不同,我明白了。然后,我将把每一行的元素放入水平方向的线性布局中,并使用权重属性。使用权重属性,你可以告诉视图它们应该以一定的比例共享现有空间。你能给出两行或三行的演示吗,因为我不清楚android布局的结构,只需编写一点代码,我会看到,因为它正在工作,或者切克·阿迪尔·苏姆罗回答,他是对的。您可以调整布局,只需稍微调整一下即可。转换按钮可以保留在原来的位置。该按钮必须只有一个属性
android:layout\u span=“3”
。谢谢您的建议。我认为OP也应该考虑它。转换按钮可以停留在按钮所在的地方,只有属性>代码> Android:LayOutSuang= =“3”< /代码>。谢谢你的建议。我认为OP也应该考虑一下。