Android 内容无法正确显示

Posted

技术标签:

【中文标题】Android 内容无法正确显示【英文标题】:Android content does not show correctly 【发布时间】:2021-10-24 16:29:29 【问题描述】:

我正在开发一个约束布局的 android 应用程序,其中包含不同的字段,例如 ImageView、TextView、Buttons 和 EditText。它在我的 android studio 的设计视图中显示得很好,但它没有在手机上显示全部内容?它还以我在我的 android studio 中设置的不规则脚本显示它们。

this is how it appears on phone

这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/siba"
    android:layout_
    android:layout_
    android:scrollbars="vertical"
    tools:context=".MainActivity">


    <TextView
        android:id="@+id/text1"
        android:layout_
        android:layout_
        android:layout_marginEnd="68dp"
        android:layout_marginBottom="440dp"
        android:text="@string/ibiro"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/button4" />

    <EditText
        android:id="@+id/editTextNumber3"
        android:layout_
        android:layout_
        android:layout_marginEnd="236dp"
        android:layout_marginBottom="440dp"
        android:ems="10"
        android:hint="@string/kgs"
        android:importantForAutofill="no"
        android:inputType="number|text"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <TextView
        android:id="@+id/text2"
        android:layout_
        android:layout_
        android:layout_marginEnd="72dp"
        android:layout_marginBottom="380dp"
        android:text="@string/uburebure"
        android:textAppearance="@style/TextAppearance.AppCompat.Small"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <EditText
        android:id="@+id/editTextNumber5"
        android:layout_
        android:layout_
        android:layout_marginEnd="232dp"
        android:layout_marginBottom="332dp"
        android:ems="10"
        android:hint="@string/m"
        android:importantForAutofill="no"
        android:inputType="number|text"
        app:layout_constraintBottom_toTopOf="@+id/button3"
        app:layout_constraintEnd_toEndOf="parent" />

    <Button
        android:id="@+id/shaka"
        android:layout_
        android:layout_
        android:layout_marginEnd="104dp"
        android:layout_marginBottom="320dp"
        android:background="@color/green"
        android:text="@string/shaka"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <TextView
        android:id="@+id/textView"
        android:layout_
        android:layout_
        android:layout_marginEnd="124dp"
        android:layout_marginBottom="80dp"
        android:text=""
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <TextView
        android:id="@+id/textView3"
        android:layout_
        android:layout_
        android:layout_marginTop="360dp"
        android:layout_marginEnd="24dp"
        android:text="@string/bmi"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button3"
        android:layout_
        android:layout_
        android:layout_marginStart="16dp"
        android:layout_marginBottom="4dp"
        android:text="@string/byinshi"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <Button
        android:id="@+id/button4"
        android:layout_
        android:layout_
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="4dp"
        android:text="Terms of use"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <TextView
        android:id="@+id/textView12"
        android:layout_
        android:layout_
        android:layout_marginEnd="124dp"
        android:layout_marginBottom="584dp"
        android:text="Languages"
        android:textColor="@color/black"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_
        android:layout_
        android:src="@drawable/ic_launcher"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.06"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Spinner
        android:id="@+id/spinner"
        android:layout_
        android:layout_
        android:layout_marginEnd="24dp"


        android:layout_marginBottom="584dp"
        android:spinnerMode="dropdown"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

【问题讨论】:

您的布局在所有其他设备上似乎也不合适,因为您的视图边距太差了。您必须按照 ConstrainLayout 进行操作。 不要硬编码视图的宽度和高度,因为它会在不同的设备上显示不同。如果您使用ConstraintLayout,您应该将视图绑定到其他视图。可以参考ConstraintLayout的教程。 developer.android.com/training/constraint-layout 【参考方案1】:

在大多数视图中,您都将约束分配给 parent

... app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /&gt;

所以它们会有点重叠。您应该在逻辑上将它们相互限制,而不是像您的情况那样总是像父母一样。

在尝试使用 ConstraintLayouts 之前,您应该检查此training

【讨论】:

以上是关于Android 内容无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章

Android:无法正确显示 RecyclerView

Perf 在 Android 上无法正确显示调用图

Android Camera Preview 无法在 Google Glass 上正确显示?

在 android.support.v7.widget.GridLayout 中使用 <include> 无法正确显示

Android Wikipedia 文章搜索无法在我的 web 视图中正确显示?

react-native-webview Android 无法正确加载本地html文件(显示源代码)