【发布时间】:2020-03-21 01:30:03
【问题描述】:
我有一个依赖于约束布局的布局。 结果在一台设备上非常好,但是在更改屏幕尺寸以在多设备和多屏幕Obs中看到它时!布局被破坏了。
所以, 让布局支持所有屏幕尺寸而不被破坏的最佳方法是什么?
这是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="@drawable/b11"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView5"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="56dp"
android:layout_marginEnd="196dp"
app:layout_constraintEnd_toStartOf="@+id/imageView3"
app:layout_constraintTop_toBottomOf="@+id/imageView8"
app:srcCompat="@drawable/ic_book5" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="68dp"
android:layout_marginTop="132dp"
app:layout_constraintStart_toEndOf="@+id/imageView8"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
app:srcCompat="@drawable/ic_book1" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="104dp"
android:layout_marginTop="28dp"
app:layout_constraintStart_toEndOf="@+id/imageView1"
app:layout_constraintTop_toBottomOf="@+id/imageView1"
app:srcCompat="@drawable/ic_book3" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="132dp"
android:layout_marginEnd="136dp"
app:layout_constraintEnd_toStartOf="@+id/imageView9"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/imageView7"
app:layout_constraintTop_toBottomOf="@+id/winner"
app:srcCompat="@drawable/ic_book4" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="104dp"
android:layout_marginEnd="80dp"
app:layout_constraintEnd_toStartOf="@+id/imageView4"
app:layout_constraintTop_toBottomOf="@+id/imageView7"
app:srcCompat="@drawable/ic_book2" />
<ImageView
android:id="@+id/winner"
android:layout_width="78dp"
android:layout_height="117dp"
android:layout_marginStart="36dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/imageView7"
app:srcCompat="@drawable/ic_winner"
tools:layout_editor_absoluteY="-34dp" />
<ImageView
android:id="@+id/start"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="128dp"
app:layout_constraintEnd_toStartOf="@+id/imageView3"
app:layout_constraintTop_toBottomOf="@+id/imageView5"
app:srcCompat="@drawable/ic_startt" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="104dp"
android:layout_marginEnd="116dp"
app:layout_constraintEnd_toStartOf="@+id/imageView10"
app:layout_constraintHorizontal_bias="0.954"
app:layout_constraintStart_toEndOf="@+id/imageView2"
app:layout_constraintTop_toBottomOf="@+id/imageView4"
app:srcCompat="@drawable/ic_book6" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="61dp"
android:layout_marginTop="24dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/winner"
app:srcCompat="@drawable/ic_book7" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="80dp"
android:layout_marginEnd="32dp"
app:layout_constraintEnd_toStartOf="@+id/imageView6"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
app:srcCompat="@drawable/ic_book8" />
<ImageView
android:id="@+id/imageView9"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="228dp"
android:layout_marginTop="12dp"
app:layout_constraintStart_toEndOf="@+id/imageView7"
app:layout_constraintTop_toBottomOf="@+id/winner"
app:srcCompat="@drawable/ic_book9" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="116dp"
android:layout_marginTop="120dp"
app:layout_constraintStart_toEndOf="@+id/imageView4"
app:layout_constraintTop_toBottomOf="@+id/imageView9"
app:srcCompat="@drawable/ic_book10" />
</androidx.constraintlayout.widget.ConstraintLayout>
【问题讨论】:
-
请用结果更新问题
-
我关心你的笔记,我编辑问题
-
最好是约束布局,但这里有一些我想在这方面提出的建议,使用边距和绝对差异非常少。利用约束布局,它的功能更多。利用链条、指南、障碍和其他属性。检查here
标签: android android-layout android-constraintlayout