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

约束布局在不同设备上表现不同

约束布局在不同设备上表现不同

POPMUISE 2023-05-17 15:54:49
我试图将我的相对布局转换为约束布局以适合每个设备,但我遇到了一些问题。在 Android Studio 的编辑器中,它看起来像这样: 我使用 Pixel C 作为模拟器来制作它。现在,我在 Samsung Galaxy 选项卡上尝试了该应用程序,结果如下:为什么按钮不像第一张图片那样位于屏幕中央?这是 xml 的代码,如您所见,我什至锚定了元素以保持它们之间的距离:<android.support.constraint.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/relativeLayout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@drawable/background_main"android:scaleType="centerCrop"tools:context=".MainActivity"><TextView    android:id="@+id/textView2"    android:layout_width="708dp"    android:layout_height="231dp"    android:layout_marginTop="152dp"    android:layout_marginEnd="8dp"    android:layout_marginBottom="8dp"    android:fontFamily="@font/kotta_one"    android:text="Test del pensiero\n       divergente"    android:textColor="#000000"    android:textSize="86dp"    android:textStyle="bold"    app:layout_constraintBottom_toBottomOf="parent"    app:layout_constraintEnd_toEndOf="parent"    app:layout_constraintHorizontal_bias="0.57"    app:layout_constraintStart_toStartOf="parent"    app:layout_constraintTop_toTopOf="parent"    app:layout_constraintVertical_bias="0.195" /><Button    android:id="@+id/button_1"    android:layout_width="180dp"    android:layout_height="60dp"    android:layout_marginStart="8dp"    android:layout_marginEnd="76dp"    android:layout_marginBottom="8dp"    android:background="@drawable/button_bg"    android:text="@string/invioA"    android:textAllCaps="false"    android:textColor="#FFFFFF"    android:textSize="18dp"</android.support.constraint.ConstraintLayout>
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

您为按钮和文本视图提供了错误的宽度和高度。

此外,对于水平按钮和相同的宽度和高度,您可以使用如下我使用的链条。

在这里,我给你大概的设计,你也可以使用你的 ConstraintLayout 因为我有 androidx 迁移的项目。

//img1.sycdn.imooc.com//646488830001fb5a02880513.jpg

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

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

    android:id="@+id/relativeLayout"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="@color/add_news_feed_bg"

    android:scaleType="centerCrop">


    <TextView

        android:id="@+id/textView2"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="8dp"

        android:layout_marginEnd="8dp"

        android:text="Test del pensiero\n       divergente"

        android:textColor="#000000"

        android:textSize="86dp"

        android:textStyle="bold"

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

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:background="@color/bg_toolbar"

        android:text="invioA"

        android:textAllCaps="false"

        android:textColor="#FFFFFF"

        android:textSize="18dp"

        app:layout_constraintBottom_toBottomOf="@+id/button_2"

        app:layout_constraintEnd_toStartOf="@+id/button_2"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="@+id/button_2" />


    <Button

        android:id="@+id/button_2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginBottom="8dp"

        android:background="@color/bg_toolbar"

        android:text="invioB"

        android:textAllCaps="false"

        android:textColor="#FFFFFF"

        android:textSize="18dp"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintStart_toEndOf="@+id/button_1"

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


    <Button

        android:id="@+id/button_3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginEnd="8dp"

        android:background="@android:color/transparent"

        android:text="Area\nDocenti"

        android:textAllCaps="false"

        android:textColor="#030000"

        android:textSize="26dp"

        app:layout_constraintBottom_toTopOf="@+id/textView2"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

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