Android知识进阶(遥远的重头开始)随笔-生活工作点滴

Android-ConstraintLayout(约束布局)-C

2019-07-10  本文已影响1人  MonkeyLei

居中显示不难哈,分两种:水平居中、垂直居中;

在相对布局里面可以layout_centerXxxxxx来设置居中,而在约束布局里面是这样考虑的:其实居中就是既然靠左/上,也要靠右/下, 这样渲染时就知道, “哦,原来你是想居中哇”。

然后现在我们有两个控件都设置了左右上的相对位置约束, 都居中了。现在我想让其中一个控件距离parent左边=%20screen_width?一旦你设置了既靠左,又靠右,那么自然就是居中了,怎么设置距离左边距离呢? 其实有两种, 一是设置间距, 第二种是利用偏离率layout_constraintHorizontal_bias*来设置百分比.

1.利用layout_marginLeft来设置间距,你还需要适配不同分辨率机型,麻烦。而且还需要注意一点,利用marginLeft时不能设置靠右属性哟!!!其实想想,有了marginleft,还需要靠右属性么?自然没有必要了塞....

2.领用bias的话就好些了,至少利用百分比不用去做什么适配,能保证不同分辨率机型上比例一致..

a。首先看看居中,以及marginleft的方式:

      <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">

    <!--水平居中显示、垂直居中类似做法-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sb_you"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <!--水平+margin-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sb_you2"
        android:layout_marginLeft="10dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

image

b。再看看bias的方式

 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">

    <!--水平居中显示、垂直居中类似做法-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sb_you"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <!--水平+偏离率-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="sb_you2"
        app:layout_constraintHorizontal_bias="0.2"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

image

在布局管理器你也可以随意拖动调试查看各种布局的效果,琢磨琢磨就会越来越熟悉。嗯。加油,么么哒....

官网:

ConstraintLayout | Android Developers​developer.android.google.cn

图标
上一篇下一篇

猜你喜欢

热点阅读