如何管理布局在android中

时间:2011-06-20 06:18:57

标签: android

我刚开始研究android..actually我创建了一个计算器应用程序.. 我面临的问题是管理布局..我的意思是说..我有四个按钮连续..现在下一行我有另外四个按钮但是当我运行应用程序时第一行和第二行之间的空间行是安静的大..所以任何人都可以告诉我,我怎么能减少这两行之间的空间..

我写的代码是

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">


<TextView
    android:id="@+id/label"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Calculator Application"/>

<EditText
    android:id="@+id/entry"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@android:drawable/editbox_background"
    android:layout_below="@id/label"/>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
            <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1">
                <Button
                    android:id="@+id/one"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"

                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="10dip"
                    android:text="1" />
                <Button
                    android:id="@+id/two"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"

                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="10dip"
                    android:text="2" />
                <Button
                    android:id="@+id/three"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"

                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="10dip"
                    android:text="3" />
                <Button
                    android:id="@+id/plus"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"

                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="10dip"
                    android:text="+" />

            </LinearLayout>
    </LinearLayout>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
            <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1">
            <Button
            android:id="@+id/four"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="4" />
            <Button
            android:id="@+id/five"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="5" />
            <Button
            android:id="@+id/six"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="6" />
            <Button
            android:id="@+id/minus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="-" />
            </LinearLayout>
    </LinearLayout>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
            <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1">
            <Button
            android:id="@+id/seven"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="7" />
            <Button
            android:id="@+id/eight"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="8" />
            <Button
            android:id="@+id/nine"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="9" />
            <Button
            android:id="@+id/multiply"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="*" />
            </LinearLayout>
    </LinearLayout>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1">
            <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1">
            <Button
            android:id="@+id/zero"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="0" />
            <Button
            android:id="@+id/clr"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="c" />
            <Button
            android:id="@+id/equal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="=" />
            <Button
            android:id="@+id/divide"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:text="/" />
            </LinearLayout>
    </LinearLayout>

问候 Anshuman

3 个答案:

答案 0 :(得分:2)

替换所有的 android:layout_height="fill_parent"打电话给 android:layout_height="wrap_content"
 (除了父布局,应该是fill_parent
我已经证实这是有效的。

编辑:要使按钮水平填充屏幕(并且所有尺寸相同),请将其添加到每个按钮:

android:layout_width="0dp"
android:layout_weight="1"

答案 1 :(得分:0)

答案 2 :(得分:0)

正如CaspNZ建议使用android:layout_height="wrap_content"同时使用top padding可能有所帮助。