利用约束布局ConstraintLayout实现全适配九宫格
android五花八门品类众多尺寸各异的屏幕,一直是产品经验和开发人员的心中难以解开的疙瘩,像素,DP,英寸各种的不方便。面对竞争激烈的APP市场,界面平庸了不出容易出彩,界面特殊了又会带来适配方面的难题。如何解决开发人员心中的痛,也是谷歌安卓团队绕不开的坑。借鉴网页开发的优点,早期已经有很多高手把百分比引入布局,但是需要做大量的运算,界面越复杂,运算量越大,这无疑疑会带来性能上的下降,从而影响体验。直到后来谷哥终于也推出了自己的百分比布局。
Google早期官方提供的百分比布局库,包含PercentFrameLayout
和PercentRelativeLayout
。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实现全适配九宫格相关推荐
- 约束布局ConstraintLayout
文章目录 一,背景 二,控件优点 三,项目中引入 四,基本使用 4.1 相对位置 4.2 尺寸约束 4.3 宽高比 Ratio 4.4 百分比宽高 Percent 4.5 偏移量 bias 4.6 圆 ...
- 约束布局ConstraintLayout加快布局速度
Android Studio2.2更新布局设计器,同时,引人了约束布局ConstraintLayout. 简单来说,可以把它看做是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件之 ...
- 约束布局ConstraintLayout看这一篇就够了
目录 1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout 3.1 添加依赖 3.2 相对定位 3.3 角度定位 3.4 边距 3.5 居中和偏移 3 ...
- Android开发笔记(一百四十九)约束布局ConstraintLayout
约束布局ConstraintLayout是Android Studio 2.2推出的新布局,并从Android Studio 2.3开始成为默认布局文件的根布局,由此可见Android官方对其寄予厚望 ...
- Android :约束布局ConstraintLayout 之 Chains 链式约束
ConstraintLayout Chains 链式约束 1. 链 简介 ( 1 ) Chains ( 链 ) 简介 2. 创建 链 及 分析 生成的代码 ( 1 ) 创建水平链 ( 2 ) 链创建后 ...
- 约束布局ConstraintLayout(官翻篇)
目录 ConstraintLayout Relative positioning 相对定位 Margins 间距 当关联的控件可见性是GONE的时候 Centering positioning and ...
- Android第二讲笔记(约束布局ConstraintLayout)
目录 为什么要使用约束布局ConstraintLayout? 约束布局基本属性 约束布局简单使用方法 示例 示例一(仿QQ消息) 示例二(仿微信登陆界面) 示例三(仿QQ音乐界面) 补充 写在最后 S ...
- 约束布局constraint-layout导入失败的解决方案 - 转
今天有同事用到了约束布局,但是导入我的工程出现错误 **提示错误: Could not find com.Android.support.constraint:constraint-layout: ...
- 约束布局 ConstraintLayout 的使用
目录 前言 1.将ConstraintLayout添加到项目中 2.基本规则 3.示例讲解 3.1居中对齐 3.2 排列 3.3引导线Guideline 3.4计算器示例 3.5宽高比示例 3.6Ch ...
最新文章
- 使用Python,OpenCV从静态背景中提取移动前景
- ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT
- SQL Server-聚焦INNER JOIN AND IN性能分析(十四)
- python 类特殊方法_python中用特殊方法定制类
- 《中国人工智能学会通讯》——2.35 敏捷和灵巧精细动作技能(Agile and Dexterous Fine Motor Skills)...
- 【华为云技术分享】从 Cloud 1.0 到 2.0,云计算的“多元架构命题”
- 去大公司和小公司实习对比
- Javascript基础系列之(五)条件语句(if条件语句)
- 怎么删除计算机的一个用户名和密码,哪位晓得电脑有两个账户怎么删除一个
- adb devices出现no permissions
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
- js 浏览器窗口活跃监听
- 安装SQL server2017提示无法打开注册表项:“Software\Microsoft\MicrosoftsQL Server\140\Bootstrap“,注册表可能已损环。
- android触屏对焦_Android相机开发(五): 触摸对焦,触摸测光,二指手势缩放
- 【备战蓝桥杯】USACo-- airpro【改变策略】
- PTA L2-048 寻宝图
- 车路协同信息交互技术要求第 1 部分:路侧设施与云控平台
- MATLAB 求圆形面积
- Differentially Private Grids for Geospatial Data
- 如何重构一个过万Star开源项目—BetterScroll