0

我在模拟器和物理设备上尝试了不同的布局,但应用程序只显示了大约 60% 的布局,比如它超出了可见屏幕并且一些组件在下面。

我尝试使用滚动视图,但没有成功。

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#242323"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="395dp"
        android:layout_height="715dp"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp">
        <EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="blah blah"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            />

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="press"
            android:layout_centerHorizontal="true"
            android:layout_below="@id/edittext"
            />
    </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
4

3 回答 3

0

使用约束布局时,您需要将视图链接到其他视图/边界。在您的情况下,您的 RelativeLayout 未链接到父级,并且您正在使用额外的布局,因此请删除约束布局并仅使用相对布局。那可行。

试试下面的xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#242323"
    tools:context=".MainActivity">
        <EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="blah blah"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            />

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="press"
            android:layout_centerHorizontal="true"
            android:layout_below="@id/edittext"
            />
    </RelativeLayout>
于 2019-08-02T20:22:57.643 回答
0

在您的代码中,尝试更改:

 <RelativeLayout
        android:layout_width="395dp"
        android:layout_height="715dp"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp">

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp">
于 2019-08-02T20:04:58.527 回答
0

删除相对布局,仅使用约束布局。请注意,您的按钮和编辑文本必须限制在父视图中。在https://developer.android.com/reference/android/support/constraint/ConstraintLayout了解有关约束布局的更多信息

试试下面的xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#242323"
    tools:context=".MainActivity">


    <EditText
        android:id="@+id/edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:hint="blah blah"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/edittext"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="press"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/edittext" />
</androidx.constraintlayout.widget.ConstraintLayout>
于 2019-08-02T23:18:54.937 回答