android五花八门品类众多尺寸各异的屏幕,一直是产品经验和开发人员的心中难以解开的疙瘩,像素,DP,英寸各种的不方便。面对竞争激烈的APP市场,界面平庸了不出容易出彩,界面特殊了又会带来适配方面的难题。如何解决开发人员心中的痛,也是谷歌安卓团队绕不开的坑。借鉴网页开发的优点,早期已经有很多高手把百分比引入布局,但是需要做大量的运算,界面越复杂,运算量越大,这无疑疑会带来性能上的下降,从而影响体验。直到后来谷哥终于也推出了自己的百分比布局。

Google早期官方提供的百分比布局库,包含PercentFrameLayoutPercentRelativeLayout。version 24.1.0引入,version 26.1.0被弃用(真的短命)。

后来在2016年的Google I/O大会上 , Google 发布了Android Studio 2.2预览版,同时也发布了Android 新的布局方案 ConstraintLayout , 但是最近的一年也没有大规模的使用。2017年Google发布了 Android Studio 2.3 正式版,在 Android Studio 2.3 版本中新建的Module中默认的布局就是 ConstraintLayout 。除了具有RelativeLayout的各种优点外,还具有大量独特的属性,对其内控件有诸如位置百比比,大小百分比,宽高百分比等一系列属性。

这里利于ConstraintLayout开发一个特殊的九宫格游戏,九宫格需要在不同屏幕下都保持每个单元正方形,即宽高一比一,横3竖3.这在以前布局不写代码无法做到,我不知道布局时的屏宽,没有办法根据屏宽取三等份的宽和高,这里我只要设置宽高1:1,三个控件平分屏宽就可以实现。如下

代码如下:

 <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/nine"android:layout_width="match_parent"android:layout_height="wrap_content"tools:layout_editor_absoluteY="81dp"><TextViewandroid:id="@+id/t1"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginLeft="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toLeftOf="@id/t2"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t2"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t1"app:layout_constraintRight_toLeftOf="@id/t3"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t3"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t2"app:layout_constraintRight_toLeftOf="@id/t4"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t4"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginRight="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t3"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t5"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t1"app:layout_constraintRight_toRightOf="@+id/t1"app:layout_constraintTop_toBottomOf="@+id/t1" /><TextViewandroid:id="@+id/t6"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t2"app:layout_constraintRight_toRightOf="@+id/t2"app:layout_constraintTop_toBottomOf="@+id/t2" /><TextViewandroid:id="@+id/t7"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t3"app:layout_constraintRight_toRightOf="@+id/t3"app:layout_constraintTop_toBottomOf="@+id/t3" /><TextViewandroid:id="@+id/t8"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t4"app:layout_constraintRight_toRightOf="@+id/t4"app:layout_constraintTop_toBottomOf="@+id/t4" /><TextViewandroid:id="@+id/t9"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t5"app:layout_constraintRight_toRightOf="@+id/t5"app:layout_constraintTop_toBottomOf="@+id/t5" /><TextViewandroid:id="@+id/t10"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t6"app:layout_constraintRight_toRightOf="@+id/t6"app:layout_constraintTop_toBottomOf="@+id/t6" /><TextViewandroid:id="@+id/t11"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t7"app:layout_constraintRight_toRightOf="@+id/t7"app:layout_constraintTop_toBottomOf="@+id/t7" /><TextViewandroid:id="@+id/t12"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t8"app:layout_constraintRight_toRightOf="@+id/t8"app:layout_constraintTop_toBottomOf="@+id/t8" /><TextViewandroid:id="@+id/t13"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t9"app:layout_constraintRight_toRightOf="@+id/t9"app:layout_constraintTop_toBottomOf="@+id/t9" /><TextViewandroid:id="@+id/t14"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t10"app:layout_constraintRight_toRightOf="@+id/t10"app:layout_constraintTop_toBottomOf="@+id/t10" /><TextViewandroid:id="@+id/t15"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t11"app:layout_constraintRight_toRightOf="@+id/t11"app:layout_constraintTop_toBottomOf="@+id/t11" /><TextViewandroid:id="@+id/t16"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t12"app:layout_constraintRight_toRightOf="@+id/t12"app:layout_constraintTop_toBottomOf="@+id/t12" /></android.support.constraint.ConstraintLayout>
<?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"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"tools:context=".XiaoChengActivity"tools:layout_editor_absoluteY="81dp"><TextViewandroid:id="@+id/t1"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginLeft="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toLeftOf="@id/t2"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.3"/><TextViewandroid:id="@+id/t2"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t1"app:layout_constraintRight_toLeftOf="@id/t3"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.3"/><TextViewandroid:id="@+id/t3"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginRight="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t2"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.3"/><TextViewandroid:id="@+id/t4"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t1"app:layout_constraintRight_toRightOf="@+id/t1"app:layout_constraintTop_toBottomOf="@+id/t1"app:layout_constraintWidth_percent="0.3" /><TextViewandroid:id="@+id/t5"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t2"app:layout_constraintRight_toRightOf="@+id/t2"app:layout_constraintTop_toBottomOf="@+id/t2"app:layout_constraintWidth_percent="0.3" /><TextViewandroid:id="@+id/t6"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t3"app:layout_constraintRight_toRightOf="@+id/t3"app:layout_constraintTop_toBottomOf="@+id/t3"app:layout_constraintWidth_percent="0.3" /><TextViewandroid:id="@+id/t7"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t4"app:layout_constraintRight_toRightOf="@+id/t4"app:layout_constraintTop_toBottomOf="@+id/t4"app:layout_constraintWidth_percent="0.3" /><TextViewandroid:id="@+id/t8"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t5"app:layout_constraintRight_toRightOf="@+id/t5"app:layout_constraintTop_toBottomOf="@+id/t5"app:layout_constraintWidth_percent="0.3" /><TextViewandroid:id="@+id/t9"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:textColor="@android:color/holo_red_light"android:textSize="10sp"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t6"app:layout_constraintRight_toRightOf="@+id/t6"app:layout_constraintTop_toBottomOf="@+id/t6"app:layout_constraintWidth_percent="0.3" />
</android.support.constraint.ConstraintLayout>

十六宫

方形环绕:

<android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/nine"android:layout_width="match_parent"android:layout_height="wrap_content"tools:layout_editor_absoluteY="81dp"><TextViewandroid:id="@+id/t1"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginLeft="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toLeftOf="@id/t2"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t2"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t1"app:layout_constraintRight_toLeftOf="@id/t3"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t3"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t2"app:layout_constraintRight_toLeftOf="@id/t4"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t4"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginRight="16dp"android:layout_marginTop="16dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@id/t3"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintWidth_percent="0.23" /><TextViewandroid:id="@+id/t5"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t1"app:layout_constraintRight_toRightOf="@+id/t1"app:layout_constraintTop_toBottomOf="@+id/t1" /><TextViewandroid:id="@+id/t6"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintBottom_toTopOf="@+id/t15"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t2"app:layout_constraintRight_toRightOf="@+id/t3"app:layout_constraintTop_toBottomOf="@+id/t2" /><TextViewandroid:id="@+id/t8"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t4"app:layout_constraintRight_toRightOf="@+id/t4"app:layout_constraintTop_toBottomOf="@+id/t4" /><TextViewandroid:id="@+id/t9"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t5"app:layout_constraintRight_toRightOf="@+id/t5"app:layout_constraintTop_toBottomOf="@+id/t5" /><TextViewandroid:id="@+id/t12"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t8"app:layout_constraintRight_toRightOf="@+id/t8"app:layout_constraintTop_toBottomOf="@+id/t8" /><TextViewandroid:id="@+id/t13"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t9"app:layout_constraintRight_toRightOf="@+id/t9"app:layout_constraintTop_toBottomOf="@+id/t9" /><TextViewandroid:id="@+id/t14"android:layout_width="0dp"android:layout_height="0dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintBottom_toBottomOf="@+id/t13"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@+id/t13"app:layout_constraintRight_toRightOf="@+id/t2"app:layout_constraintTop_toTopOf="@+id/t13" /><TextViewandroid:id="@+id/t15"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintBottom_toBottomOf="@+id/t13"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t3"app:layout_constraintRight_toLeftOf="@+id/t16"app:layout_constraintTop_toTopOf="@+id/t13" /><TextViewandroid:id="@+id/t16"android:layout_width="0dp"android:layout_height="0dp"android:layout_marginTop="2dp"android:background="@android:color/holo_green_light"android:singleLine="false"android:textColor="@android:color/holo_red_light"android:textSize="8sp"app:fontFamily="sans-serif"app:layout_constrainedWidth="true"app:layout_constraintDimensionRatio="1:1"app:layout_constraintHorizontal_chainStyle="spread_inside"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toLeftOf="@+id/t12"app:layout_constraintRight_toRightOf="@+id/t12"app:layout_constraintTop_toBottomOf="@+id/t12" /></android.support.constraint.ConstraintLayout>

利用约束布局ConstraintLayout实现全适配九宫格相关推荐

  1. 约束布局ConstraintLayout

    文章目录 一,背景 二,控件优点 三,项目中引入 四,基本使用 4.1 相对位置 4.2 尺寸约束 4.3 宽高比 Ratio 4.4 百分比宽高 Percent 4.5 偏移量 bias 4.6 圆 ...

  2. 约束布局ConstraintLayout加快布局速度

    Android Studio2.2更新布局设计器,同时,引人了约束布局ConstraintLayout. 简单来说,可以把它看做是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件之 ...

  3. 约束布局ConstraintLayout看这一篇就够了

    目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout 3.1 添加依赖 3.2 相对定位 3.3 角度定位 3.4 边距 3.5 居中和偏移 3 ...

  4. Android开发笔记(一百四十九)约束布局ConstraintLayout

    约束布局ConstraintLayout是Android Studio 2.2推出的新布局,并从Android Studio 2.3开始成为默认布局文件的根布局,由此可见Android官方对其寄予厚望 ...

  5. Android :约束布局ConstraintLayout 之 Chains 链式约束

    ConstraintLayout Chains 链式约束 1. 链 简介 ( 1 ) Chains ( 链 ) 简介 2. 创建 链 及 分析 生成的代码 ( 1 ) 创建水平链 ( 2 ) 链创建后 ...

  6. 约束布局ConstraintLayout(官翻篇)

    目录 ConstraintLayout Relative positioning 相对定位 Margins 间距 当关联的控件可见性是GONE的时候 Centering positioning and ...

  7. Android第二讲笔记(约束布局ConstraintLayout)

    目录 为什么要使用约束布局ConstraintLayout? 约束布局基本属性 约束布局简单使用方法 示例 示例一(仿QQ消息) 示例二(仿微信登陆界面) 示例三(仿QQ音乐界面) 补充 写在最后 S ...

  8. 约束布局constraint-layout导入失败的解决方案 - 转

    今天有同事用到了约束布局,但是导入我的工程出现错误  **提示错误:  Could not find com.Android.support.constraint:constraint-layout: ...

  9. 约束布局 ConstraintLayout 的使用

    目录 前言 1.将ConstraintLayout添加到项目中 2.基本规则 3.示例讲解 3.1居中对齐 3.2 排列 3.3引导线Guideline 3.4计算器示例 3.5宽高比示例 3.6Ch ...

最新文章

  1. 使用Python,OpenCV从静态背景中提取移动前景
  2. ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT
  3. SQL Server-聚焦INNER JOIN AND IN性能分析(十四)
  4. python 类特殊方法_python中用特殊方法定制类
  5. 《中国人工智能学会通讯》——2.35 敏捷和灵巧精细动作技能(Agile and Dexterous Fine Motor Skills)...
  6. 【华为云技术分享】从 Cloud 1.0 到 2.0,云计算的“多元架构命题”
  7. 去大公司和小公司实习对比
  8. Javascript基础系列之(五)条件语句(if条件语句)
  9. 怎么删除计算机的一个用户名和密码,哪位晓得电脑有两个账户怎么删除一个
  10. adb devices出现no permissions
  11. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
  12. js 浏览器窗口活跃监听
  13. 安装SQL server2017提示无法打开注册表项:“Software\Microsoft\MicrosoftsQL Server\140\Bootstrap“,注册表可能已损环。
  14. android触屏对焦_Android相机开发(五): 触摸对焦,触摸测光,二指手势缩放
  15. 【备战蓝桥杯】USACo-- airpro【改变策略】
  16. PTA L2-048 寻宝图
  17. 车路协同信息交互技术要求第 1 部分:路侧设施与云控平台
  18. MATLAB 求圆形面积
  19. Differentially Private Grids for Geospatial Data
  20. 如何重构一个过万Star开源项目—BetterScroll

热门文章

  1. ubuntu卸载foxit reader
  2. 华为服务器raid卡
  3. LaTeX 西班牙语
  4. 人眼视觉特性(HVS) [转自飞鸟的博客]
  5. echarts自定义tooltip
  6. [61dctf]fm
  7. 【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】
  8. 算法训练 黑色星期五
  9. C语言:青蛙跳台与汉诺塔问题
  10. 虚拟机VMware提示“无法获得VMCI驱动程序的版本:句柄无效”的解决方法