为了账号安全,请及时绑定邮箱和手机立即绑定

使布局适用于所有具有固定尺寸的 Android 设备

使布局适用于所有具有固定尺寸的 Android 设备

繁星点点滴滴 2023-06-04 14:51:32
我面临着让我的布局在所有具有相同尺寸的 Android 设备上工作的麻烦。我注意到每次朋友安装我的应用程序时,Buttons 和 TextViews 都会改变它们的初始位置,有时会上升或下降,或者使其中的文本环绕而不是全部显示(我将附上其中一个的一些代码布局为例)。我需要一些好的文档和/或教程以获得最佳布局设计。
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

发生这种情况是因为您在视图上使用了固定大小的尺寸,并且因为不同的手机有不同的屏幕尺寸,您会看到这种差异。

如评论部分所述 - 您可以使用ConstraintLayout创建一个布局以支持所有不同的屏幕尺寸。

这是您想要的布局的示例(无论如何看起来都相似):

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:app="http://schemas.android.com/apk/res-auto"

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  android:layoutDirection="ltr"

  android:orientation="vertical">


<android.support.constraint.ConstraintLayout

    android:layout_width="match_parent"

    android:layout_height="wrap_content">



    <Button

        android:id="@+id/button6"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button5"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent" />


    <Button

        android:id="@+id/button5"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button7"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button6" />


    <Button

        android:id="@+id/button7"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button8"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button5" />


    <Button

        android:id="@+id/button8"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button9"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button7" />


    <Button

        android:id="@+id/button9"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button10"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button8" />


    <Button

        android:id="@+id/button10"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button11"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button9" />


    <Button

        android:id="@+id/button11"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button12"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button10" />


    <Button

        android:id="@+id/button12"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button13"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button11" />


    <Button

        android:id="@+id/button13"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button14"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button12" />


    <Button

        android:id="@+id/button14"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button15"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button13" />


    <Button

        android:id="@+id/button15"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button16"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button14" />


    <Button

        android:id="@+id/button16"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button17"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button15" />


    <Button

        android:id="@+id/button17"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toTopOf="@+id/button18"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button16" />


    <Button

        android:id="@+id/button18"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="8dp"

        android:layout_marginBottom="8dp"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHeight_percent=".2"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toBottomOf="@+id/button17" />



    </android.support.constraint.ConstraintLayout>


</ScrollView>


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信