android 新的布局,Android新布局方式ConstraintLayout快速入门教程

前言

在android开发中,我们通常是手写布局,很少会用拖动来写布局,虽然constraintlayout在i/o上以拖动来展现了各种功能,我估计在以后开发中,程序员还是习惯手撸代码。

我自己试着拖着用了一下,用得不是很明白 ,而且用起来效果不是很好。

那么

直接上手撸了一下~~~

其实很简单

bbe2569526d22dc75748776fb3224c76.png

48fb906b8f514313c66d55dfceaa0c67.png

button1:app:layout_constraintbottom_totopof="@id/iv_head"

我们把这个属性拆开来看,constraintbottom指的本身的底部,即button1的顶部,totopof是指imageview的顶部,那么这句话的意思就是

aligns the bottom of the desired view to the top of another.(官方原文)

翻译一下就是button1的底部要和imageview的顶部对齐

button1 app:layout_constraintright_toleftof="@id/iv_head"

根据上面的规则我们就知道button1的右边要和imageview的左边对齐。

其实很简单就是说两个view的某个方位要对齐

没了,就这么简单,其它属性可以举一反三,它比relativelayout控制起来更加得以就手。

layout_constrainttop_totopof — align the top of the desired view to the top of another.

layout_constrainttop_tobottomof — align the top of the desired view to the bottom of another.

layout_constraintbottom_totopof — align the bottom of the desired view to the top of another.

layout_constraintbottom_tobottomof — align the bottom of the desired view to the bottom of another.

layout_constraintleft_totopof — align the left of the desired view to the top of another.

layout_constraintleft_tobottomof — align the left of the desired view to the bottom of another.

layout_constraintleft_toleftof — align the left of the desired view to the left of another.

layout_constraintleft_torightof — align the left of the desired view to the right of another.

layout_constraintright_totopof — align the right of the desired view to the top of another.

layout_constraintright_tobottomof — align the right of the desired view to the bottom of another.

layout_constraintright_toleftof — align the right of the desired view to the left of another.

layout_constraintright_torightof — align the right of the desired view to the right of another.

if desired, attributes supporting start and end are also available in place of left and right alignment.

到此,你已经掌握了一大半的constraintlayout知识点

还有其它的一些属性

app:layout_constraintstart_toendof

意思就是button的开始部分(从左往右看,开始部分就是button的左边)与imageview的右边是对齐的。

app:layout_constraintstart_tostartof

这个就是说button的左边与imageview的左边是对齐的

不知道为什么上面已经出的属性能够满足布局需要了,为什么还要再出start和end的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对萬仟网的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程语言的发展趋势及未来方向(2):声明式编程与DSL

这里先从声明式(Declarative)编程谈起。 目前我们在编写软件时大量使用的是命令式(Imperative)编程语言,例如C#,Java或是C等等。这些语言的特征在于,写出的代码除了表现出“什么(Wha…

HtmlParser提取网页中的纯文本信息

转载自 HtmlParser提取网页中的纯文本信息HTMLParser 一个解析web页面的开源类库。 准备学习下搜索方面的技术,就学习了些网络爬虫的知识。最近一直在一个点上困惑,如何提取一个网页上的纯文本信息。要使用正则表达式的话呢,需要考…

编程语言的发展趋势及未来方向(1):历史回顾及趋势概述

大家好,我是Anders Hejlsberg,现在是微软的Technical Fellow,担任C#编程语言的首席架构师,也参与并领导.NET Framework以及各种语言的开发。我现在打算谈一下……实际上是我脑海中一些影响未来5到10年编程语言设计的内容。比如C#或…

调用反射类的指定方法

package org.entity;import java.lang.reflect.Method;/*** 本案例演示如何通过反射将字符串转换为类* */ public class Test2_2 {public static void main(String[] args) {String user "org.entity.User";//字符串是该类的全限定名try {Class clzz Class.forName…

springboot创建项目 编写dao serviece 和controller 持久层用mybatis

11 刷新一下pom 万一没有引入进去 jpa和mybatis选择哪个? 1.看领导要求 2.都会最好 多学点是没错的

android查看wifi是否双频,Android判断wifi是5G还是2.4G

我一开始看这帖子,找不到答案,为了后来的人,我来回复吧。WifiManager wifiManager (WifiManager) getSystemService(Context.WIFI_SERVICE);WifiInfo wifiInfo wifiManager.getConnectionInfo();根据wifiInfo.getFrequency()可以判断是不是…

java过滤html标签获取纯文本信息

转载自 java过滤html标签获取纯文本信息 package com.lyt.base.util;import java.util.regex.Pattern;public class FilterHtmlUtil {public static String Html2Text(String inputString){String htmlStr inputString; //含html标签的字符串String textStr "";java…

综述:编程语言的发展趋势及未来方向

程序设计离不开编程语言,但是编程语言在国内的大环境中似乎一直是个二等公民。国内的计算机教育和工程培训,似乎一直在宣传“语言不重要,重要的是思想”,“语言一通百通”等观点,甚至在许多人眼中“语言的讨论”完全是…

IntelliJ IDEA: 无法创建Java Class文件

IntelliJ IDEA: 无法创建Java Class文件 2018年06月21日 22:49:44 dandelion9508 阅读数 11864 今天打开项目时,发现右击新建不了java.class文件,于是尝试了以下方法: (1)选择 File——>Project Structure——>…

iphone android互传文件夹,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...

一直以来,很多的app都是分为安卓和IOS两个版本,在使用上,两个平台之间很多功能都不能跨平台使用。比如大家在玩游戏时充值的东西,在苹果充值之后,同一个账号转到安卓手机上玩,那些东西都是不能迁移进来的。…

jsoup怎么获取两个标签之间的text?

转载自 jsoup怎么获取两个标签之间的text? 这是开发者工具解析到的一个论坛页面结构。。可以看到每一个a标签和br标签之间总会夹着一个text,,也就是密码文本。而我根据网上的API教程:siblingA ~ siblingX: 查找A元素之前的同级X元素,比如&#xff1a…

编程语言的发展趋势及未来方向(7):总结

OK,我想现在已经讲的差不多了,我来做个总结吧。 在我看来,对于编程语言来说,现在出现了许多有趣的东西,也是令人激动的时刻。在过去,大约1995-2005年,的确可以说是一个有些特别的编程语言的黄金…

通过反射获取方法返回的类型

package org.entity;import java.lang.reflect.Method; import java.lang.reflect.Type;/*** 本案例演示如何通过反射将字符串转换为类* */ public class Test3 {public static void main(String[] args) {String user "org.entity.User";//字符串是该类的全限定名t…

android 按键消息,在android中模拟键盘消息(shell命令的方法)

已找到解决方案[code]use: sendeventcommand format: sendeventdevice type code value[command] [device] [type] [code] [value]sendevent/dev/input/event0 1 229 1/dev/input/event0 is the device to send it to[type] 1 is unknow for me ( maybe code for physical butt…

强行覆盖远程的gitlab 出错

需要删除原来的.git 文件 重新生成一次 强行覆盖远程的gitlab 出错 我这里出错的原因是 因为我本地一个readme.md和远程的README.MD文本内容不同 我将本地的readme.md 删除后重新操作就对了 1.删除原来的.git文件 AdministratorUSER-20170819XG MINGW64 /e/unicomWork…

使用 jsoup 对 HTML 文档进行解析和操作

转载自 使用 jsoup 对 HTML 文档进行解析和操作jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTML 中攫取你所需的信息和…

编程语言的发展趋势及未来方向(6):并发

好,最后我想谈的内容是“并发”。 听说过摩尔定律的请举手……几乎是所有人。那么多少人听说了摩尔定律已经结束了呢?嗯,还是有很多人。我有好消息,也有坏消息。我认为摩尔定律并没有停止。摩尔定律说的是:可以在集成电…

GitLab创建项目 命令上传代码

注册哪里要验证点击图片 这里需要外网 有可能 右键gitbash 首次将本地创建项目推送远程代码仓库 touch readme.md 创建readme文件 git init 初始化git git status 查看修改状态 git add . 添加至本地仓库管理 git status 检查是否添加成功 git commit -am fir…

Linux ss 热点,在Linux系统下的ss命令(socket statistics)各种使用示例

本文演示在Linux操作系统下的ss命令(socket statistics)的各种使用示例。ss(套接字统计信息)是一个命令行工具,用于监视套接字连接并显示Linux系统的套接字统计信息。它可以显示PACKET套接字、TCP套接字、UDP套接字、DCCP套接字、RAW套接字、Unix域套接字等的统计信…

Jsoup代码解读之七-实现一个CSS Selector

转载自 Jsoup代码解读之七-实现一个CSS Selector当当当!终于来到了Jsoup的特色:CSS Selector部分。selector也是我写的爬虫框架webmagic开发的一个重点。附上一张street fighter的图,希望以后webmagic也能挑战Jsoup! select机制 Jsoup的se…