返回顶部
首页 > 资讯 > 移动开发 >Android中的ConstraintLayout约束布局
  • 937
分享到

Android中的ConstraintLayout约束布局

androidandroidstudio 2023-09-22 05:09:44 937人浏览 独家记忆
摘要

ConstraintLayout约束布局 ConstraintLayout有啥好处呢?可以减少布局层次,特别适合复杂的大型布局。可谓是集线性布局和相对布局于一身的荣誉布局。 使用 添加依赖 目前,An

ConstraintLayout约束布局

ConstraintLayout有啥好处呢?可以减少布局层次,特别适合复杂的大型布局。可谓是集线性布局和相对布局于一身的荣誉布局。

使用

添加依赖
目前,AndroidStudio新的版本默认就给你上ConstraintLayout了。如果没有的话怎么添加以来呢?

repositories {
Google()
}

添加仓库依赖

dependencies {
implementation ‘com.android.support.constraint:constraint-layout:1.1.2’
}

然后就sync一下就好了。

把现有的布局转成约束布局

在 Android Studio 中打开您的布局,然后点击编辑器窗口底部的 Design 标签。

在 Component Tree 窗口中,右键点击该布局,然后点击 Convert layout to ConstraintLayout。
在这里插入图片描述

一、创建约束布局的规则
  • 每个视图都必须至少有两个约束条件:一个水平约束条件,一个垂直约束条件(不进行水平或者垂直约束的话,默认显示到0,0位置也就是左上角)
  • 只能在共用同一平面的约束手柄与定位点之间创建约束条件。因此,视图的垂直平面(左侧和右侧)只能约束在另一个垂直平面上;而基准线则只能约束到其他基准线上。(简单说视图顶部/底部只能约束顶部或底部,左侧/右侧只能约束左侧或右侧)
  • 每个约束句柄只能用于一个约束条件,但您可以在同一定位点上创建多个约束条件(从不同的视图),也就是说出发只能一个而到达目的地可以多个
二、布局

相对布局

layout_constraintLeft_toLeftOf
layout_constraintLeft_toRightOf
layout_constraintRight_toLeftOf
layout_constraintRight_toRightOf
layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf

和我们使用的RelativeLayout布局很相似,表示谁在谁的地方,比如:

  • 相对与父级
<androidx.constraintlayout.widget.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="match_parent">    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Button"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent" />    androidx.constraintlayout.widget.ConstraintLayout>

比如说这样子,顶部相对于父级的顶部约束,开始的位置跟父级开始的位置一样。
在这里插入图片描述
这里的 app:layout_constraintStart_toStartOf="parent"也可以换成 app:layout_constraintLeft_toLeftOf=“parent”
但是他们俩还是有所区别的
left一定是左边,而start不一定,我们的习惯是start从左往右,比如说文字阅读。而某些国家是start从右往左。这个开始方向是跟系统语言有关系的。

  • 同级的相对布局
  <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Button"        app:layout_constraintBottom_toBottomOf="parent"        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="button2"        app:layout_constraintLeft_toLeftOf="@id/button"        app:layout_constraintTop_toBottomOf="@id/button" />

在这里插入图片描述
还有baseLine基线线

<Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="button2"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintBaseline_toBaselineOf="@id/button"/>

在这里插入图片描述
2.角度定位
相关属性

//围绕的目标
layout_constraintCircle
//距离
layout_constraintCircleRadius
//角度
layout_constraintCircleAngle

比如:

  <Button        android:id="@+id/earth"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="我是地球"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginStart="13Dp"        android:layout_marginBottom="51dp"        android:text="我是月亮"        app:layout_constraintBottom_toTopOf="@+id/earth"        app:layout_constraintCircle="@id/earth"        app:layout_constraintCircleAngle="45"        app:layout_constraintCircleRadius="120dp"        app:layout_constraintStart_toEndOf="@+id/earth" />

在这里插入图片描述
3.绝对布局
用于设置控件在ConstraintLayout中并未约束的绝对位置。运行后在真机上是看不到的,只能做到Design时进行预览。
相关属性

layout_editor_absoluteX
layout_editor_absoluteY

例如按钮在x,y的绝对坐标为120dp,如果已经约束的话,绝对布局就不起作用了
在这里插入图片描述
4.margin

相关属性
当前View与另一个View绑定后,另一个View的属性设置为了Gone,则以下属性会生效

layout_goneMarginLeft
layout_goneMarginTop
layout_goneMarginRight
layout_goneMarginBottom
layout_goneMarginStart
layout_goneMarginEnd

<androidx.constraintlayout.widget.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="match_parent">    <Button        android:id="@+id/earth"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="100dp"        android:layout_marginLeft="100dp"        android:text="我是地球"        android:visibility="gone"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent"/>    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:layout_constraintLeft_toLeftOf="@id/earth"        app:layout_constraintTop_toBottomOf="@id/earth"        android:text="我是月亮"        app:layout_goneMarginTop="100dp"        app:layout_goneMarginLeft="100dp"        />androidx.constraintlayout.widget.ConstraintLayout>

因为textView的左部和顶部绑定Button,所以当button的可见性为gone时app:layout_goneMarginTop=“100dp”
app:layout_goneMarginLeft="100dp"就起作用
在这里插入图片描述

偏移
bias就是偏移的意思
相关属性
水平偏移和垂直偏移

layout_constraintHorizontal_bias
layout_constraintVertical_bias

水平方向

    <Button        android:id="@+id/earth"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="我是地球"        app:layout_constraintHorizontal_bias="0.2"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

水平偏移20%
在这里插入图片描述
垂直方向

   <Button        android:id="@+id/earth"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="我是地球"        app:layout_constraintVertical_bias="0.2"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toTopOf="parent" />

垂直方向偏移20%
在这里插入图片描述
6.宽高比
相关属性

layout_constraintDimensionRatio

如果我们要一下宽和高为1:2的控件大小

    <Button        android:id="@+id/earth"        android:layout_width="100dp"        android:layout_height="0dp"        android:text="我是地球"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintDimensionRatio="1:2"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
宽高至少得有一个为0,则以另外一个值作为参考进行比例。
7.权重
和之前的LinearLayout布局很相似
相关属性
水平方向的权重,垂直方向的权重

layout_constraintHorizontal_weight
layout_constraintVertical_weight

<Button        android:id="@+id/button1"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:text="button1"        app:layout_constraintHorizontal_weight="1"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toLeftOf="@id/button2"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button2"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:text="button2"        app:layout_constraintHorizontal_weight="2"        app:layout_constraintLeft_toRightOf="@id/button1"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
垂直方向同样的用法

链式布局

相关属性

layout_constraintHorizontal_chainStyle
layout_constraintVertical_chainStyle

在这里插入图片描述

  • CHAIN_SPREAD 左右两边距离相等
  • CHAIN_SPREAD_INSIDE 内边距相关
  • Weighted chain 权重链,根据权重占比
  • CHAIN_PACKED 两边等距内容一起
  • package chain with bias 同上,不过有偏移

例子:

 <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="A"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toLeftOf="@id/button2"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="B"        app:layout_constraintLeft_toRightOf="@id/button1"        app:layout_constraintRight_toLeftOf="@id/button3"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="C"        app:layout_constraintLeft_toRightOf="@id/button2"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
链头添加样式:

app:layout_constraintHorizontal_chainStyle=“packed”

在这里插入图片描述

app:layout_constraintHorizontal_chainStyle=“spread_inside”

在这里插入图片描述

app:layout_constraintHorizontal_chainStyle="spread"

在这里插入图片描述

尺寸约束

相关属性

layout_constrainedWidth
layout_constrainedHeight
layout_constraintWidth_default
layout_constraintHeight_default
layout_constraintWidth_min 将设置此维度宽的最小尺寸
layout_constraintWidth_max将设置此维度宽的最大尺寸
layout_constraintWidth_percent将此维度的宽大小设置为父维度的百分比
layout_constraintHeight_min 将设置此维度高的最小尺寸
layout_constraintHeight_max将设置此维度高的最大尺寸
layout_constraintHeight_percent将此维度的高大小设置为父维度的百分比

WRAP_CONTENT (添加在 1 . 1中):强制约束
如果维度设置为WRAP_CONTENT,则在 1.1 之前的版本中,它们将被视为文字维度——也就是说,约束不会限制结果维度。虽然通常这已经足够(并且更快),但在某些情况下,您可能希望使用WRAP_CONTENT,但继续强制执行约束以限制结果维度。在这种情况下,您可以添加相应的属性之一:

app:layout_constrainedWidth=“true|false”
app:layout_constrainedHeight=“true|false”

当app:layout_constrainedWidth=“false”

    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="A"        app:layout_constraintHorizontal_chainStyle="spread"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toLeftOf="@id/button2"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="B"        app:layout_constraintLeft_toRightOf="@id/button1"        app:layout_constraintRight_toLeftOf="@id/button3"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"        app:layout_constrainedWidth="false"        android:layout_height="wrap_content"        android:text="CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"        app:layout_constraintLeft_toRightOf="@id/button2"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
当app:layout_constrainedWidth="true"会强制对button3进行约束,并限制维度
在这里插入图片描述
layout_constrainedHeight 同理
layout_constraintWidth_default值选项有三,是枚举类型
定义如下:

<attr name="layout_constraintWidth_default">        <enum name="spread" value="0"/>        <enum name="wrap" value="1"/>        <enum name="percent" value="2"/>    </attr>

主要用于设置百分比
在这里插入图片描述
1.宽度为0dp或高度为0dp
l2.ayout_constraintWidth_default为percent,或layout_constraintHeight_default为percent
3.通过layout_constraintHeight_percent 或者layout_constraintWidth_percent 来设置百分比
例如:
宽度占0.7,高度为wrap_content

    <Button        android:id="@+id/button3"        android:layout_width="0dp"        app:layout_constraintWidth_default="percent"        android:layout_height="wrap_content"        app:layout_constraintWidth_percent="0.7"        android:text="CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"        app:layout_constraintLeft_toRightOf="@id/button2"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
最值限定

  • layout_constraintWidth_min
  • layout_constraintWidth_max
  • layout_constraintHeight_min
  • layout_constraintHeight_max

若内容是动态内容,此时为包裹内容会动态变化宽高,可以通过设置以上几个属性来限定控件的宽高变化

    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintHeight_max="50dp"        app:layout_constraintTop_toTopOf="parent"        app:layout_constraintWidth_max="200dp" />

在这里插入图片描述

辅助约束

参考线Guideline

可以理解为一个假设的线,实际运行时不会出现。只是你看预览效果时会有
相关属性

//开始
layout_constraintGuide_begin
//结束
layout_constraintGuide_end
//百分比
layout_constraintGuide_percent

例子:
开始距离

 <androidx.constraintlayout.widget.Guideline        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:layout_constraintGuide_begin="100dp"/>

在这里插入图片描述
方向,默认是水平方向

 <androidx.constraintlayout.widget.Guideline        android:layout_width="wrap_content"        android:orientation="vertical"        android:layout_height="wrap_content"        app:layout_constraintGuide_begin="100dp"/>

改成垂直方向,如上
百分比,注意,取值[0,1]f

 <androidx.constraintlayout.widget.Guideline        android:layout_width="wrap_content"        android:orientation="vertical"        android:layout_height="wrap_content"         app:layout_constraintGuide_percent="0.5"/>

在这里插入图片描述
使用,参考于guide_line
右边连接到guide_line的右边

<androidx.constraintlayout.widget.Guideline        android:id="@+id/guide_line"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical"        app:layout_constraintGuide_end="100dp" />    <Button        android:id="@+id/earth"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="我是地球"        app:layout_constraintRight_toRightOf="@+id/guide_line"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述

屏障Barrier

举个例子

 <TextView        android:id="@+id/text1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="1111111111111111111"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <TextView        android:id="@+id/text2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="20dp"        android:padding="30dp"        android:text="22222222222"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toBottomOf="@id/text1" />    <TextView        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:text="333333333333333333333333333333333"        app:layout_constraintLeft_toRightOf="@id/text1"        app:layout_constraintTop_toTopOf="parent" />

在这里插入图片描述
左边的1和2都是包裹内容,内容动态添加的话会撑大。目前3是以1的右边作为参考。如果2变大,则会与3重叠
例如出现下面情况,这显然不符合我们的要求,此时需要设置一道屏障,相当于一堵墙
在这里插入图片描述

    <TextView        android:id="@+id/text1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="1111111111111111111"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <TextView        android:id="@+id/text2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="20dp"        android:padding="30dp"        android:text="22222222222222222222222222222222222"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toBottomOf="@id/text1" />    <androidx.constraintlayout.widget.Barrier        android:id="@+id/barrier"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:barrierDirection="right"        app:constraint_referenced_ids="text1,text2" />    <TextView        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:text="333333333333333333333333333333333"        app:layout_constraintLeft_toRightOf="@id/barrier"        app:layout_constraintTop_toTopOf="parent" />

这样子,就以屏障作为参考了
在这里插入图片描述

Group组

This class controls the visibility of a set of referenced widgets. Widgets are referenced by being added to a comma separated list of ids,

控制一组内容的可见性

    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="1111111111111"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="22222222222222"        app:layout_constraintLeft_toRightOf="@id/button1"        app:layout_constraintTop_toTopOf="parent" />    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="333333333333333"        app:layout_constraintLeft_toRightOf="@id/button2"        app:layout_constraintTop_toTopOf="parent" />    <androidx.constraintlayout.widget.Group        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:constraint_referenced_ids="button1,button3" />

在这里插入图片描述
设置不可见

   <androidx.constraintlayout.widget.Group        android:layout_width="wrap_content"        android:visibility="gone"        android:layout_height="wrap_content"        app:constraint_referenced_ids="button1,button3" />

就只剩下一个button2了。

来源地址:https://blog.csdn.net/ChenYiRan123456/article/details/127017645

--结束END--

本文标题: Android中的ConstraintLayout约束布局

本文链接: https://lsjlt.com/news/414898.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android——ConstraintLayout(约束布局)
    约束布局 1. 介绍2. 基本属性及其使用2.1 相对定位2.1.1 属性 2.2 角度定位2.2.1 属性 2.3 边距2.3.1 属性2.3.2 不可见性行为(goneMarg...
    99+
    2023-09-01
    android android studio
  • Android中的ConstraintLayout约束布局
    ConstraintLayout约束布局 ConstraintLayout有啥好处呢?可以减少布局层次,特别适合复杂的大型布局。可谓是集线性布局和相对布局于一身的荣誉布局。 使用 添加依赖 目前,An...
    99+
    2023-09-22
    android android studio
  • Android布局ConstraintLayout代码修改约束及辅助功能
    目录实践过程代码修改约束辅助功能GuidelineBarrierFlowPlaceholderGroup和Layer实践过程 代码修改约束 <xml version="1.0"...
    99+
    2024-04-02
  • Android约束布局
    一、嵌套布局效率可能很低。 在 Android 开发中,我们常常需要使用嵌套布局来实现某些较复杂的界面效果。但是嵌套层级太深会带来一些问题,主要包括: 视图层级过深,导致内存占用过高和性能下降。And...
    99+
    2023-09-22
    android android studio
  • android约束布局的优缺点是什么
    Android约束布局(ConstraintLayout)是一种相对布局,可以通过设置各种约束条件来定义视图之间的关系。它的优点和缺...
    99+
    2023-08-16
    android
  • FlexBuilder2.0中怎么定义约束布局
    今天就跟大家聊聊有关FlexBuilder2.0中怎么定义约束布局,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义约束的布局给组件在你的布局定位完后, 你将定义约束的布局,它能使组...
    99+
    2023-06-17
  • 【错误记录】约束布局报错 ( Missing Constraints in ConstraintLayout. This view is not constrained. It only has )
    文章目录 一、报错信息二、解决方案1、手动添加约束 ( 推荐 )2、自动添加约束 一、报错信息 约束布局中 , 如果不给组件添加约束 , 就会报如下错误 : Missing...
    99+
    2023-09-08
    android 约束布局 Constraint
  • AndroidConstraintLayout约束布局使用详解
    目录基本属性约束强度Visibility属性控件宽高比子控件之间的宽高占比锚向指示线Chains链基本属性 可以让本View的一个方向置于目标View的一个方向,比如 layout_...
    99+
    2022-11-13
    Android ConstraintLayout约束布局 Android ConstraintLayout Android 约束布局
  • Android修行手册之ConstraintLayout布局使用详解
    目录实践过程示例一示例二实践过程 近期创建的项目默认是带有的,如果没有去build.gradle文件中查看有没有引入 implementation 'androidx.constra...
    99+
    2024-04-02
  • flutter布局约束原理深入解析
    目录引言1、flutter的widget类型2、Container是个组合类3、flutter布局约束4、Container布局行为解惑总结引言 刚开始接触flutter的时候,C...
    99+
    2023-01-13
    flutter布局约束原理 flutter布局约束
  • FlexBuilder2.0中怎么创建一个基于约束的布局
    FlexBuilder2.0中怎么创建一个基于约束的布局,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。FlexBuilder2.0中创建基于约束的布局这个速学教...
    99+
    2023-06-17
  • mysql中主键约束和唯一约束的区别
    mysql 中主键约束和唯一约束的区别在于:主键最多包含多个列,不允许空或重复值,标识每条记录,可作为外键;唯一约束可包含任意列数,允许空值但不允许重复值,防止特定列组合重复。 MyS...
    99+
    2024-04-26
    mysql
  • Android的布局
    一 布局文件的创建 1.点左面layout文件夹,单击鼠标右键,选New—>layout resource file ...
    99+
    2022-06-06
    布局 Android
  • Android 中RecyclerView多种item布局的写法(头布局+脚布局)
    RecyclerView多个item布局的写法(头布局+脚布局) 上图 github 下载源码 Initial commit第一次提交的代码,为本文内容 以下的为主要代码,...
    99+
    2022-06-06
    recyclerview Android
  • mysql中约束的作用
    小编给大家分享一下mysql中约束的作用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!什么叫做约束?约束,就是要求数据需要满足什么条件的一种“规定”。主要有如下几种约束:主键约束:形式: pr...
    99+
    2024-04-02
  • MySQL中约束的简介
    小编给大家分享一下MySQL中约束的简介,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)主键约束主键约束是使用最频繁的约束。在...
    99+
    2024-04-02
  • mysql中常见的约束
    mysql 中常见的约束包括:主键约束、外键约束、唯一约束、非空约束、自增约束和检查约束。这些约束有助于确保数据完整性、提高数据质量、维护关系完整性并增强性能。 MySQL 中常见的约...
    99+
    2024-05-01
    mysql 数据丢失
  • mysql中的约束有哪些
    在MySQL中,常见的约束有以下几种:1. 主键约束(Primary Key Constraint):用于标识一张表中的一条记录,保...
    99+
    2023-08-30
    mysql
  • Android 的 FrameLayout (帧布局)
    本节引言 FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不...
    99+
    2023-10-21
    android
  • SQL Server中的约束(constraints)详解
    目录一、约束的分类二、约束命名三、主键约束1、在创建表的时候创建主键约束。2、在已存在的表上创建主键约束3、复合主键的创建四、外键约束4.1、创建表的时候创建外键4.2、在已存在的表...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作