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 Developersdeveloper.android.google.cn
图标