高效学习Android项目开发 | 约束布局(附有视频限免)
2024-12-29 来源 : 时尚
如果对“按键1”在程度斜向分别将右下锯齿状和右锯齿状依次导向到鼠标两侧,Android Studio亦会将“按键1”在程度斜向定时置中所,导向标尺直角转成折线,其含义是最后导向还须要重新考虑其他导向要素。Design视绘出推断程度斜向双重导向,如绘出3-28简述。调试计算机控制系统时,“按键1”也亦会推断在鼠标程度斜向正中所央。
■ 绘出3-28程度斜向双重导向
此时“按键1”隐含表列要素(此时样式档案中所不亦会推断此要素):
只要将“按键1”程度滚拉,如绘出3-29简述,将多出要素layout_constraintHorizontal_bias,其均是由右下右导向大小(右下右方形描述符到导向程度线的一段距离,导向程度线确实是鼠标锯齿状,也确实是其他管理器锯齿状)的颠倒不下,0.5均是由按键右下右导向大小相等,小于0.5时按键特别强调右下边,少于0.5时按键特别强调右边。可以在要素右上角所同样改写颠倒不下,也可以在Inspector(layout_constraintHorizontal_bias要素,如绘出3-29标节录Constraint Widget的绘出形部分)中所同样滚拉带二进制的进度条改写颠倒不下,还可以通过同样滚拉“按键1”的作法或在Code视绘出中所改写颠倒不下。
■ 绘出3-29 layout_constraintHorizontal_bias要素
如果希望“按键1”无论怎么右下右移动,按键右方到鼠标右下锯齿状均至少保留50dp的间隙,可先指名“按键1”,然后在Inspector右方文本框中所可用50,layout_marginStart要素如绘出3-30简述。“按键1”右方折线联接一段50dp的直角,相应的layout_marginStart要素为50dp,此时颠倒不下是不计算这50dp直角大小的,即使app:layout_constraintHorizontal_bias要素个数等于0,“按键1”右方还是亦会保留50dp的空白,此时滚拉“按键1”到50dp时就未再右侧下边移动。
■绘出3-30layout_marginStart要素
指名管理器的方形描述符,按delete键可以截图指名的导向。如果指名的是管理器,按delete键亦会截图整个管理器(含管理器导向要素)。
Inspector如绘出3-31简述。
■ 绘出3-31Inspector
回应wrap_content,Code视绘出中所的要素为android:layout_width="wrap_content"。
回应互换个数,给管理器原则上了一个互换的大小或者跨度个数。
回应可任意大小或者跨度个数。以管理器跨度为例,Code视绘出中所管理器的跨度要素转成android:layout_width="0"。定位其他导向要素,管理器跨度确实为wrap_content(右下右方形描述符只有一个用以导向)、match_parent(右下右方形描述符都用以导向)或可任意大小(右下右方形描述符都用以导向,且同时假定了layout_marginStart或layout_marginEnd)。
在“按键1”上右击,弹出管理器快捷位图化,如绘出3-32简述。
■ 绘出3-32 管理器快捷位图化
同样Show Baseline位图化,亦会在“按键1”上推断Baseline(即加权线),如绘出3-33简述。默认“按键1”的加权线并滚放到“按键2”的加权线右方就正因如此加权线倒置。加权线倒置主要用在多个高度并不大致相同的管理器间实现注解倒置(如果按键中所注解推断为多在行或两个按键的字体大小并不大致相同,加权线倒置是将第一在行注解上方倒置)。
■ 绘出3-33 Baseline
同样Clear Constraints of Selection位图化,将截图指名管理器的所有制约样式要素。
同样Convert view位图化,弹出转化管理器站内,如绘出3-34简述。同样想变格外的管理器类别(Android中所称之为View),可以在保留导向数据的情况下变格外管理器类别。
■ 绘出3-34 转化管理器站内
其他位图化项是中用选项,如复制、粘贴等,还有几个位图化项在其设计绘出顶部的位图化中所有大致相同控制系统按键。控制系统性控制系统可参看后续内容。
Transforms如绘出3-35简述。在Transforms中所可设立View的X、Y、Z轴承的螺旋和圆周参见点的偏移。
■ 绘出3-35 Transforms
绘出3-35中所对Z轴承螺旋了45°,互换要素android:rotation="45"。如果假定在按键管理器内,则互换按键管理器螺旋45°。如果假定在ConstraintLayout标签内,则ConstraintLayout标签内的所有管理器都亦会螺旋45°。
第7在行假定制约样式内所有管理器都螺旋-45°。此时button1和button2都螺旋-45°。
第25在行假定button2螺旋90°,扣除制约样式螺旋的-45°,最后效果是button2螺旋45°。
android:rotation要素调试结果如绘出3-36简述。其词组是android,分属android命名空间,所以也可以用在其他样式中所,如线性样式。android:rotation是以管理器中所心且纵向于鼠标为轴承心的Z轴承螺旋。android:rotationX和android:rotationY分别互换管理器X斜向中所心轴承和Y斜向中所心轴承螺旋。
■ 绘出3-36 android:rotation要素调试结果
02
Barrier
在也就是说样式中所确实亦会遇到Barrier导向,如绘出3-37简述。希望“按键3”布置在“按键1”和“按键2”最下方40dp的右方,即如果“按键2”比“按键1”格外靠右,则“按键3”右方一段距离“按键2”下方40dp;如果“按键1”比“按键2”格外靠右,则“按键3”右方一段距离“按键1”下方40dp。
■ 绘出3-37 Barrier导向
为此制约样式引入了Barrier的观念,增加了Barrier标签,其中所假定表列两个要素:
以上两在行是在“按键1”与“按键2”下方建起Barrier,Barrier类似矮墙墙,两个按键谁格外靠右,这堵墙就以谁为边境。而“按键3”右方导向以这个墙为加权。应用以绘出形化GUI建起Barrier原理如下:建起“按键1”与“按键2”并完并成相应导向。指名“按键1”,默认 按键,弹出如绘出3-38简述的GUI,同样Add Vertical Barrier位图化加进一个纵向斜向Barrier。
■ 绘出3-38 加进纵向斜向Barrier
选项加进的Barrier与“按键1”右方倒置。改写Barrier要素,如绘出3-39简述,在barrier要素右上角所改写barrierDirection要素为right(或者是end)、constraint_referenced_ids要素为“button1,button2”(选项只有button1)。如果事先已经明确“按键1”和“按键2”共同建起Barrier,也可同时指名“按键1”和“按键2”,然后再加进纵向斜向的Barrier,constraint_referenced_ids要素定时填写为“button1,button2”。
■ 绘出3-39 改写barrier要素
指名“按键3”,加进右方导向到可任意管理器右锯齿状,使“按键3”的Declared Attributes要素右上角所多出一项layout_constraintStart_toEndOf要素(也可以在All Attributes中所索引互换要素),将其改作要倒置的Barrier,将layout_marginStart改作40dp。Android Studio定时生并成样式档案,文档如下:
第35在行假定button3右方倒置到barrier1下方。
第38~44在行假定barrier1,其中所第43在行假定barrier1挡住的管理器是button1和button2,第42在行指明barrier1挡住斜向是下方。
03
Guideline
之前的管理器导向都是基于鼠标(格外准确的称呼为管理器兄罐的制约样式)或者是可见管理器,制约样式中所引入了一种在调试时看不见的Guideline——导向加权线作为导向补充。加进Guideline如绘出3-40简述,分别加进纵向和程度斜向的Guideline。
滚拉Guideline至所须要右方,原则上右下导向150dp的纵向斜向Guideline,如绘出3-41简述。
■ 绘出3-40 加进Guideline
■ 绘出3-41 原则上右下导向150dp的纵向斜向Guideline
默认右方向上标记将切换为向下标记,此时Guideline按Bottom右方导向,再次默认将切换并成一般而言字母,均是由Guideline应用以右方一般而言设立自身导向(Guideline要素app:layout_constraintGuide_percent="0.33"是将Guideline设立在鼠标大小或跨度的1/3右方),原则上一般而言的程度斜向Guideline,如绘出3-42简述。
■ 绘出3-42原则上一般而言的程度斜向Guideline
【节录】
以外制约样式正式版程度斜向的Guideline可通过鼠标默认实现 三种导向作法循环切换,纵向斜向的Guideline的切换还有弊端。制约样式的控制系统在不停地升级,或许下一正式版亦会将这个弊端解决。
加进管理器并将其导向指向Guideline,应用以Guideline导向如绘出3-43简述。也就是说调试时Guideline是不可见的。
■ 绘出3-43 应用以Guideline导向
样式文档如下:
第8~13在行假定了一个一段距离鼠标右下边境150dp的纵向斜向Guideline。
第15~20在行假定了一个一段距离鼠标下部1/3右方的程度斜向Guideline。
第22~29在行假定了一个按键,其顶端和右方分别导向到两个Guideline。由于Guideline是一条线,因此第28在行layout_constraintStart_toStartOf换并成layout_constraintStart_toEndOf的效果是一样的。
04
Group
应用以制约样式的一个目标是减少样式的嵌套。如果想把多个管理器设立为隐藏,就须要分别设立各管理器的可视化要素。应用以Group相当于将各管理器进在行分组,设立Group要素可视将Group中所各管理器设立大致相同要素。在Design视绘出中所加进Group时须要先同样要包含的管理器,然后如绘出3-44简述同样Add Group位图化项加进的Group对象,新加进Group对象取名为group1。
■ 绘出3-44加进Group
group1在计算机控制系统调试时是不可见的,要将相应的管理器放入group1,最便捷的作法是在部件这样一来所将相应的按键管理器滚放到group1,如绘出3-45简述。
■ 绘出3-45 将按键加进到group1
此时group1中所包含了button1和button2。Group的关键文档如下:
其中所,第5在行假定group1中所包含button1和button2。调试计算机控制系统,可以看到鼠标上推断button1和button2。发生变化group1的visibility要素为invisible,再次调试计算机控制系统,鼠标上不推断button1和button2。须要要特别节录意的是,group1的要素右上角所有两个visibility要素,如绘出3-46简述。
■ 绘出3-46 visibility要素
顶部的visibility要素在Code视绘出中所推断为android:visibility,其的一些游戏的个数影响控制系统性管理器在Android通讯设备上前提推断。下方的visibility要素前有一个 字母,在Code视绘出中所推断为tools:visibility,其的一些游戏只影响在Android Studio的Design视绘出中所前提推断,并不影响在Android通讯设备上的调试推断。
05
Circle
Circle作法导向以外还未应用以绘出形GUI配置,可以在Code视绘出中所可用文档。Circle导向示意绘出如绘出3-47简述。以参考导向管理器A中所心为带子,以管理器B中所心到管理器A中所心为半径,与纵向向顶部向的夹角来导向管理器B的右方。
■ 绘出3-47 Circle导向示意绘出
第23在行假定button2按照Circle作法来导向,导向加权为button1。
第24在行假定夹角为45°。
第25在行假定button1与button2中所心点的一段距离为150dp。
以外,Circle方导向作法还不完善,除了不全力支持绘出形化特别其设计其设计以外,在Code视绘出下Button标签也亦会推断为黑色,部件这样一来所button2也亦会用黑色亦同标签,提示控制系统性制约要素不形式化。
06
Chain
Chain用以原则上模版制约。Chain示意绘出如绘出3-48简述。绘出3-48中所,管理器A与管理器B相互制约形并成一个有趣的模版制约。
■ 绘出3-48 Chain示意绘出
模版制约中所的第一个管理器称为Chain Head。在整个制约链中所只要在Chain Head中所假定模版制约类别方能。Chain Head示意绘出如绘出3-49简述。
■ 绘出3-49 Chain Head示意绘出
在Head管理器中所加进layout_constraintHorizontal_chainStyle要素,ChainStyle要素及示意绘出如绘出3-50简述。5种模版制约类别的主要区隔是管理器间的间隔或管理器自身跨度比例。如果Head管理器中所未设立layout_constraintHorizontal_chainStyle要素,则选项为Spread Chain类别。
■ 绘出3-50 ChainStyle要素及示意绘出
表列是根据其网站文档编写的情形,分别实现绘出350的5种模版制约类别。
5种模版制约类别调试结果如绘出3-51简述。
■ 绘出3-51 5种模版制约类别调试结果
在Code视绘出中所按键的文本是小写,但在Design视绘出和调试结果中所都是大写,这是因为从Android 5.0起按键的要素选项为android:textAllCaps="true"。只要在按键要素中所增加android:textAllCaps="false"方能直至原有的大写字母推断。相应的Ja命令为button.setAllCaps(false)。
实例讲解
Android项目开发新为基础与近战
有趣回顾
课堂教学主要用途控制系统应用以
Android项目开发新控制系统性Ja基本观念
有趣预告
TextVie理器
Button管理器
RadioButton管理器
AlertDialog快捷键
Activity
Broadcast
检索调试
✦
07
片段讲解
扫码方能观段,限时免费3天
08
参考图书
《Android项目开发新为基础与近战(微课片段版)》
创作者:夏江
售价:59.9元
内容简介
本书结合创作者多年授课“Android应用软件开发新”课程的课堂教学充分,带进Android开发新领域新材料,较为全盘地介绍了Android应用软件开发新的控制系统性知识点和开发新熟练。全书共分5章,分别介绍了Android开发新生存环境、Android项目及Ja基本观念、Android中用样式、Android中用管理器和其他中用计算机控制系统语言技术。本书控制系统性情形以Android Studio为开发新生存环境,尽确实应用以最新正式版SDK命令替代弃用命令,并对管理器的正式版变化想到大抵的介绍。本书全盘重新考虑了研究生院课堂教学的结构上,结合创作者开发新的情形库课堂教学主要用途控制系统,通过精心其设计的情形和精辟的讲解、演示,让读者感受体验式课堂教学的魅力。本书适合Android Studio开发新人员、Android的基础知识读者、高等学校学校应用以,还可以作为医学院校、控制系统性培训机构的课堂教学用书。
09
有趣引荐
微信小计算机控制系统一些游戏开发新│猜二进制小一些游戏(附源码+片段)
Flink计算机控制系统语言为基础│Scala计算机控制系统语言初级出发点
Flink计算机控制系统语言为基础│FlinkCEP计算机控制系统语言出发点
Flink计算机控制系统语言为基础│DataStream API计算机控制系统语言出发点
Flink计算机控制系统语言为基础│DataSet API计算机控制系统语言出发点
数 据分析近战│客户价个数分析
数据分析近战│价钱预测挑战
数据分析近战│整整氨基酸预测
数据分析近战│KaggleTitanic生存预测
。太原男科检查哪家医院好昆明甲状腺医院挂号
南京儿科医院排行
昆明皮肤病专业医院
贵阳甲状腺医院挂号
瑞特和欧姆龙血糖仪哪个好
血糖仪什么牌子的好
/
复方鱼腥草合剂和蓝芩口服液效果怎么样
复方鱼腥草合剂和蓝芩口服液效果一样吗
-
官宣造车一年里,集度汽车意图贴上AI标签
正式日前中置一年后,搜狐中置又有了新进展。日前,集度汽车美国公司公开正式发布了厂商LOGO,公开称之为汽车美国公司机械厂商图标Pixiel-J,包涵了LOGO、气息、以及小写字母在内的厂商视觉效果法制...
-
品质低劣,销量下滑,捷途丧失了“以软件为中心”的初心?
。孩子不吃饭怎么办a href...[详细]
-
优然牧业(09858)荣获“金港股”金奖:高成长原奶龙头“蝶变”进行时
,1座世界级框架凝生物学场,1座产40万吨的奶牛厂,1座必先先进的预混料工厂于去年12月18日同月投产开通,有助于夯实了其里面国下游乳业零售商精神的重要性。经济经济性与人际关系经济性“两手抓”...[详细]
-
如何改变自己标新立异的性格?
#头号周刊#标新立异,是一种文艺作品冷酷及其交谈方式,也是ACGN次的文化里面的飒并不一定之一。源自日文“标新立异どくぜつ”,用于指对他谈时有着嘲讽的一种文艺作品...[详细]
-
雷克萨斯两款新车型首发-汽车频道-国际在线
国际上在线汽车频道消息:1月初19日, 在日和开幕的2022东京改装车展上,雷克萨斯NX OFFROAD插电式混动本质车与配备氘油料推力的ROV本质车首发,这两款本质展车诠释了LEXUS雷克萨斯...[详细]
-
此刻·元力觉醒——比亚迪元PLUS全国专场上市发布会-长沙站
长沙,是一座标榜时尚魅力之城外。绚烂的橘子洲头引为无数人都与继发票,波澜酷的说唱人文自成一派。一切的一切,就共存于长沙这座著名的山水洲城外。元气登场,闪耀星城外。4月21日,此刻·...[详细]