簡體   English   中英

物理和虛擬設備上的應用程序顯示錯誤

[英]Wrong app display on both physical and virtual device

我在具有不同布局的模擬器和物理設備上進行了嘗試,但應用程序僅顯示了百分之六十的布局,例如它超出了可見屏幕且某些組件掉線了。

我嘗試使用滾動視圖,但沒有成功。

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

在您的代碼中,嘗試更改此設置:

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

使用約束布局時,您需要將視圖鏈接到其他視圖/邊界。 在您的情況下,您的RelativeLayout未鏈接到父級,並且您使用的是額外的Layout,因此請刪除Constraint布局,而僅使用Relative布局。 那可行。

試試下面的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>

刪除相對布局,僅使用約束布局。 請注意,您的按鈕和edittext必須限制在父視圖中。 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM