android - 如何在android中管理布局

标签 android

我刚开始在 Android 上工作。其实我已经创建了一个计算器应用程序。
我遇到的问题是管理布局。我有两排按钮。每行有 4 个按钮。当我运行应用程序时,第一行和第二行之间的空间非常大。那么谁能告诉我如何减少这两行之间的间距?

我写的代码:

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

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


  </LinearLayout>

</LinearLayout>

问候
安舒曼

最佳答案

替换所有的
android:layout_height="fill_parent" 调用
android:layout_height="wrap_content"
(除了父布局,它应该是 fill_parent)
我已经证实这有效。

编辑:要使按钮水平填满屏幕(并且大小相同),将此添加到每个按钮:

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

关于android - 如何在android中管理布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407479/

相关文章:

android - 无法在谷歌地图上看到多个标记

android - 使用 OpenCV for Android 在 Vuforia 框架上进行颜色检测

android - 按下主页按钮后,我得到了 Activity 开关 ANDROID

java - 我可以从语音识别中获取语音数据(例如 mp3 格式)吗?

Android总是在后台停止音频流

java - 在启动时删除 gluon-mobile 对话框

java - 从 arrays.xml 文件转换问题获取 ArrayList<String>

android - 键盘隐藏我的按钮 Android

android - 笔记 Activity 的文本从应用栏后面开始

android - Ionic 4 弹跳效果