首页 > 解决方案 > 如何在 android studio 中进行布局?

问题描述

我正在尝试进行如下所示的活动: here

问题是当我启动应用程序时它并没有得到相同的结果。按钮被剪切或文本被剪切。如果我改变一个按钮的位置,一切都在左上角。我的问题是:我该怎么做才能让一切都得到我想要的位置?我使用了相对布局。也许这就是问题所在?

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

    <Button
        android:id="@+id/button3"
        android:layout_width="245dp"
        android:layout_height="68dp"
        android:layout_below="@+id/button"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="83dp"
        android:layout_marginTop="26dp"
        android:layout_marginEnd="83dp"
        android:layout_marginBottom="238dp"
        android:text="Info"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp"
        android:textStyle="normal" />

    <Button
        android:id="@+id/button"
        android:layout_width="245dp"
        android:layout_height="68dp"
        android:layout_centerInParent="true"
        android:text="Kartenansicht"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="115dp"
        android:layout_above="@+id/button2"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_marginStart="71dp"
        android:layout_marginTop="112dp"
        android:layout_marginEnd="73dp"
        android:layout_marginBottom="18dp"
        android:text="Um zu überprüfen, ob Sicherheitskameras in der Nähe sind, bitte hier drücken:"
        android:textSize="20sp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="244dp"
        android:layout_height="62dp"
        android:layout_above="@+id/button"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_marginStart="83dp"
        android:layout_marginEnd="84dp"
        android:layout_marginBottom="24dp"
        android:text="Start"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp" />
</RelativeLayout>

标签: javaandroidandroid-studiobuttonlayout

解决方案


你的布局一团糟。例如:

    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true"

这两个参数不能共存。对于您想要的布局,您应该使用 LinearLayout 并将 Orientation 设置为垂直。这样,您需要做的就是将您的 UI 对象 1 写在另一个之下,它们将被放置在另一个之上。为了使它们居中,您可以使用重力和 layout_gravity

            android:layout_gravity="center"
            android:gravity="center"

这应该就是全部了。

编辑:只是为了让您知道,相对布局基本上将任何给定对象放置在布局的 0,0 位置。如果您创建的对象很少,它们将被放置在另一个之上。


推荐阅读