Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建响应性布局?_Android_Android Layout_Android Constraintlayout_Android Cardview - Fatal编程技术网

Android 如何创建响应性布局?

Android 如何创建响应性布局?,android,android-layout,android-constraintlayout,android-cardview,Android,Android Layout,Android Constraintlayout,Android Cardview,我正在尝试创建一个登录布局 Preview phone 5.0“外观不错: 如果我在6.0设备上运行,看起来不错。但是,设备5.0“我看到很大 一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息更多细节。更多细节。我的想法是,你可以为不同的屏幕大小创

我正在尝试创建一个登录布局

Preview phone 5.0“外观不错:

如果我在6.0设备上运行,看起来不错。但是,设备5.0“我看到很大



一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息。一些详细信息更多细节。更多细节。

我的想法是,你可以为不同的屏幕大小创建不同的布局。正如Android开发者在这里所描述的那样:。
要做到这一点,您应该将不同的布局文件放在不同的“布局”目录中。例如,在文档中:
res/layout/
作为“默认”目录,对于准备在宽度为600dp或更宽的屏幕上使用的布局,
res/layout-w600dp/

如果您想要一个响应性布局,可以使用:

  • app:layout\u constraintWidth\u percent=“0.x”

  • app:layout\u constraintHeight\u percent=“0.y”

布局示例:

  <androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <androidx.cardview.widget.CardView
        android:id="@+id/cardView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:cardCornerRadius="10dp"
        app:cardBackgroundColor="@color/colorPrimary"
        app:layout_constraintBottom_toTopOf="@+id/textView3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHeight_percent="0.3"
        app:layout_constraintHorizontal_bias="0.512"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView2"
        app:layout_constraintWidth_percent="0.9" >

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.3"
                android:text="button"
                app:layout_constraintBottom_toTopOf="@+id/button2"
                app:layout_constraintStart_toStartOf="@+id/button3"
                app:layout_constraintTop_toTopOf="parent" />

            <Button
                android:id="@+id/button2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.3"
                android:text="Button"
                app:layout_constraintBottom_toTopOf="@+id/button3"
                app:layout_constraintStart_toStartOf="@+id/button3"
                app:layout_constraintTop_toBottomOf="@+id/button" />

            <Button
                android:id="@+id/button3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.9"
                android:text="Button"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/button2" />
        </androidx.constraintlayout.widget.ConstraintLayout>


    </androidx.cardview.widget.CardView>

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView2"
        app:layout_constraintHeight_percent="0.05"
        app:layout_constraintStart_toStartOf="@+id/cardView"
        app:layout_constraintTop_toTopOf="@+id/guideline" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        app:layout_constraintHeight_percent="0.05"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/cardView"

        app:layout_constraintStart_toStartOf="@+id/textView"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        app:layout_constraintHeight_percent="0.05"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView4"
        app:layout_constraintEnd_toEndOf="@+id/cardView"
        app:layout_constraintStart_toStartOf="@+id/cardView"
        app:layout_constraintTop_toBottomOf="@+id/cardView" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/textView3"
        app:layout_constraintHeight_percent="0.05"
        app:layout_constraintStart_toStartOf="@+id/textView3"
        app:layout_constraintTop_toBottomOf="@+id/textView3" />


    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.4" />
</androidx.constraintlayout.widget.ConstraintLayout>

<代码>

为不同的屏幕大小创建不同的布局,当然你可以做,但是你也可以像我回答的一样使用约束布局,我认为单版式当然也很好,这也是一个好主意。我还没有得出百分比高度和宽度的布局参数。但是,我不确定它。当然,这是一个很好的优势。如果你想在不同的屏幕大小上进行可伸缩的布局或静态宽度,你应该考虑。这是一个设计问题。
  <androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <androidx.cardview.widget.CardView
        android:id="@+id/cardView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:cardCornerRadius="10dp"
        app:cardBackgroundColor="@color/colorPrimary"
        app:layout_constraintBottom_toTopOf="@+id/textView3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHeight_percent="0.3"
        app:layout_constraintHorizontal_bias="0.512"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView2"
        app:layout_constraintWidth_percent="0.9" >

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <Button
                android:id="@+id/button"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.3"
                android:text="button"
                app:layout_constraintBottom_toTopOf="@+id/button2"
                app:layout_constraintStart_toStartOf="@+id/button3"
                app:layout_constraintTop_toTopOf="parent" />

            <Button
                android:id="@+id/button2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.3"
                android:text="Button"
                app:layout_constraintBottom_toTopOf="@+id/button3"
                app:layout_constraintStart_toStartOf="@+id/button3"
                app:layout_constraintTop_toBottomOf="@+id/button" />

            <Button
                android:id="@+id/button3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_constraintWidth_percent="0.9"
                android:text="Button"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/button2" />
        </androidx.constraintlayout.widget.ConstraintLayout>


    </androidx.cardview.widget.CardView>

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView2"
        app:layout_constraintHeight_percent="0.05"
        app:layout_constraintStart_toStartOf="@+id/cardView"
        app:layout_constraintTop_toTopOf="@+id/guideline" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        app:layout_constraintHeight_percent="0.05"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/cardView"

        app:layout_constraintStart_toStartOf="@+id/textView"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        app:layout_constraintHeight_percent="0.05"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/textView4"
        app:layout_constraintEnd_toEndOf="@+id/cardView"
        app:layout_constraintStart_toStartOf="@+id/cardView"
        app:layout_constraintTop_toBottomOf="@+id/cardView" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:gravity="center"
        android:text="TextView"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/textView3"
        app:layout_constraintHeight_percent="0.05"
        app:layout_constraintStart_toStartOf="@+id/textView3"
        app:layout_constraintTop_toBottomOf="@+id/textView3" />


    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.4" />
</androidx.constraintlayout.widget.ConstraintLayout>