如果它们无法放在屏幕

时间:2017-04-27 12:38:59

标签: android responsive-design android-constraintlayout

我想将按钮水平放置在大屏幕上,垂直放置在小屏幕上(如果它们不适合屏幕分辨率)。我可以使用ConstraintLayout而不在xml中创建两个依赖于屏幕分辨率的布局吗? 我不知道如何为这种行为设置“约束”?

NOW IT WORKS LIKE THIS

这是我在xml中的布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
       android:id="@+id/button5"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="First button"
       app:layout_constraintTop_toTopOf="parent"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintLeft_toLeftOf="parent"
       app:layout_constraintRight_toLeftOf="@+id/button3" />

    <Button
       android:id="@+id/button3"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Second button"
       app:layout_constraintTop_toTopOf="parent"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintLeft_toRightOf="@+id/button5"
       app:layout_constraintRight_toRightOf="parent" />

</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

仅使用ConstraintLayout,您将无法做到这一点。它没有为您提供在链中为linebreak创建Views排序的方法。

有多个库可以轻松实现。但是你必须引入另一种布局。例如。 android-flowlayout