Android最全Android-第二节ConstraintLayout(束缚结构),714页PDF的鸿蒙
学习分享在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不乐意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果各人觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给各人,比力体系,我平常自己也会经常研读。
2021最新上万页的大厂口试真题
https://i-blog.csdnimg.cn/blog_migrate/36011cfe3c34d8428938e6dcda7be74e.png
七大模块学习资料:如NDK模块开发、Android框架体系架构…
https://i-blog.csdnimg.cn/blog_migrate/6548089e9fc96e0dd59a2920da340222.png
只有体系,有方向的学习,才气在段时间内敏捷进步自己的技能。
这份体系学习笔记,适应人群:
**第一,**学习知识比力碎片化,没有公道的学习门路与进阶方向。
**第二,**开发几年,不知道怎样进阶更进一步,比力迷茫。
第三,到了合适的年事,后续不知道该怎样发展,转型管理,还是加强技能研究。如果你有需要,我这里恰恰有为什么,不来领取!说不定能改变你如今的状态呢!
由于文章内容比力多,篇幅不允许,部分未展示内容以截图方式展示
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才气走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
app:layout_constraintDimensionRatio=“w,1:2”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintTop_toTopOf=“parent” />
https://i-blog.csdnimg.cn/blog_migrate/547ad2f9604ba5c6769509f25d70eb70.png#pic_center
4.2权重
LinearLayout中可以设置权重,ConstraintLayout同样也有这玩意。
通过设置以下两个属性:
app:layout_constraintHorizontal_weight //水平权重
app:layout_constraintVertical_weight //竖直权重
例如:
<?xml version="1.0" encoding="utf-8"?> <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”
tools:context=“.MainActivity”>
<Button
android:id=“@+id/btn_1”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:text=“权重为1”
app:layout_constraintHorizontal_weight=“1”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toLeftOf=“@id/btn_2”
app:layout_constraintTop_toTopOf=“parent” />
<Button
android:id=“@+id/btn_2”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:text=“权重为1”
app:layout_constraintHorizontal_weight=“1”
app:layout_constraintLeft_toRightOf=“@id/btn_1”
app:layout_constraintRight_toLeftOf=“@id/btn_3”
app:layout_constraintTop_toTopOf=“parent” />
<Button
android:id=“@+id/btn_3”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:text=“权重为2”
app:layout_constraintHorizontal_weight=“2”
app:layout_constraintLeft_toRightOf=“@id/btn_2”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintTop_toTopOf=“parent” />
</androidx.constraintlayout.widget.ConstraintLayout>
https://i-blog.csdnimg.cn/blog_migrate/cf825f11499f40d2869a2d96d66433e0.png#pic_center
4.3链
官网上一共有5种样式的链:
https://i-blog.csdnimg.cn/blog_migrate/2047e2b94f09cbc997fd2c484138c1d9.png#pic_center
有三种可选参数:
[*]spread:将可用空间以匀称分布的方式将视图放置在链中(默认模式):
https://i-blog.csdnimg.cn/blog_migrate/e98df6a585b350a1e7525511f1015e0f.png#pic_center
[*]spread_inside:将链中最外面的视图对齐到外边缘,然后在可用空间内匀称的放置链中视图:
https://i-blog.csdnimg.cn/blog_migrate/6cd3cc22b48ef6e1e74a02a06ec5b102.png#pic_center
[*]packed:将链中的视图紧紧的放在一起(可以提供边距让其分开),然后让其居中在可用空间内:
https://i-blog.csdnimg.cn/blog_migrate/715de65f7e21023c03007e53ef66c51d.png#pic_center
4.4.GuideLines辅助线的应用
Guideline是只能用在ConstraintLayout结构内里的一个工具类,用于辅助结构,类似为辅助线,可以设置android:orientation属性来确定是横向的还是纵向的。
[*] 设置为vertical的时间,Guideline的宽度为0,高度是parent也就是ConstraintLayout的高度
[*] 设置为horizontal的时间,Guideline的高度为0,宽度是parent的宽度
Guideline的属性:
[*]layout_constraintGuide_begin,指定左侧(方向为vertical)或顶部(方向为horizontal)的固定距离,如10dp,在距离左侧大概顶部10dp的位置会出现一条辅助线
[*]layout_constraintGuide_end,指定右侧(方向为vertical)或底部(方向为horizontal)的固定距离,如50dp,在距离右侧或底部50dp的位置会出现一条辅助线
[*]layout_constraintGuide_percent,指定在父控件中的宽度或高度的百分比,如0.5,表现距离顶部大概左侧的50%的距离。
举例:
<?xml version="1.0" encoding="utf-8"?> <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”
tools:context=“.MainActivity”>
<Button
android:id=“@+id/button4”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:text=“权重为1”
app:layout_constraintHorizontal_weight=“1”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toLeftOf=“@id/button5”
app:layout_constraintTop_toTopOf=“parent” />
<Button
android:id=“@+id/button5”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:layout_marginTop=“340dp”
android:text=“权重为2”
app:layout_constraintHorizontal_weight=“2”
app:layout_constraintLeft_toRightOf=“@id/button4”
app:layout_constraintRight_toLeftOf=“@id/button6”
app:layout_constraintTop_toTopOf=“parent” />
<Button
android:id=“@+id/button6”
android:layout_width=“0dp”
android:layout_height=“wrap_content”
android:text=“权重为1”
app:layout_constraintHorizontal_weight=“1”
app:layout_constraintLeft_toRightOf=“@id/button5”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintTop_toTopOf=“parent” />
<androidx.constraintlayout.widget.Guideline
android:id=“@+id/guideline”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:orientation=“horizontal”
app:layout_constraintGuide_percent=“0.5” />
<androidx.constraintlayout.widget.Guideline
android:id=“@+id/guideline2”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:orientation=“vertical”
app:layout_constraintGuide_percent=“0.5” />
</androidx.constraintlayout.widget.ConstraintLayout>
https://i-blog.csdnimg.cn/blog_migrate/c6f97e7348b01bf912627f31d9bc2753.png#pic_center
4.5自动添加束缚
无束缚:
https://i-blog.csdnimg.cn/blog_migrate/820c72cef85c3c901f55dee70f343f38.png#pic_center
点击箭头所指:
https://i-blog.csdnimg.cn/blog_migrate/f694ebaa84c17cd3a41c569cd9e9131a.png#pic_center
4.6Group组
https://i-blog.csdnimg.cn/blog_migrate/116003c3f04adca9b9482ca6fcbc5a88.png#pic_center
visibility可选值:
[*]invisible:不可见(但是位置还占着)
[*]visible:可见
[*]gone:不可见(无占位)
6.示例(微信界面)
=========================================================================
https://i-blog.csdnimg.cn/blog_migrate/c7c3900ffc494990998e4c5c4fd67446.png#pic_center
<?xml version="1.0" encoding="utf-8"?> <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”
tools:context=“.MainActivity”>
<ImageView
android:id=“@+id/imageView”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginStart=“28dp”
android:layout_marginTop=“32dp”
app:layout_constraintStart_toStartOf=“parent”
app:layout_constraintTop_toTopOf=“parent”
app:srcCompat=“@drawable/touxiang” />
<TextView
android:id=“@+id/textView”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginStart=“20dp”
android:layout_marginTop=“40dp”
android:text=“诚实人兰奥”
android:textColor=“@color/black”
app:layout_constraintStart_toEndOf=“@+id/imageView”
app:layout_constraintTop_toTopOf=“parent” />
<TextView
android:id=“@+id/textView2”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:text=“微信号:lanaolaoshiren”
app:layout_constraintStart_toStartOf=“@+id/textView”
app:layout_constraintTop_toBottomOf=“@+id/textView” />
<ImageView
android:id=“@+id/imageView3”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginStart=“28dp”
android:layout_marginTop=“40dp”
app:layout_constraintStart_toStartOf=“parent”
app:layout_constraintTop_toBottomOf=“@+id/imageView”
app:srcCompat=“@drawable/zhifu” />
<TextView
android:id=“@+id/textView5”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginStart=“10dp”
android:layout_marginTop=“10dp”
android:text=“付出”
android:textColor=“@color/black”
android:textSize=“20dp”
app:layout_constraintEnd_toEndOf=“parent”
app:layout_constraintHorizontal_bias=“0.034”
app:layout_constraintStart_toEndOf=“@+id/imageView3”
app:layout_constraintTop_toTopOf=“@+id/imageView3” />
<ImageView
android:id=“@+id/imageView4”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView3”
app:layout_constraintTop_toBottomOf=“@+id/imageView3”
app:srcCompat=“@drawable/shoucang” />
<TextView
android:id=“@+id/textView6”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:text=“收藏”
android:textColor=“@color/black”
android:textSize=“20dp”
app:layout_constraintStart_toStartOf=“@+id/textView5”
app:layout_constraintTop_toTopOf=“@+id/imageView4” />
<ImageView
android:id=“@+id/imageView5”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView4”
app:layout_constraintTop_toBottomOf=“@+id/imageView4”
app:srcCompat=“@drawable/pyq” />
<TextView
android:id=“@+id/textView7”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:text=“朋友圈”
android:textColor=“@color/black”
android:textSize=“20dp”
app:layout_constraintStart_toStartOf=“@+id/textView6”
app:layout_constraintTop_toTopOf=“@+id/imageView5” />
<ImageView
android:id=“@+id/imageView6”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView5”
app:layout_constraintTop_toBottomOf=“@+id/imageView5”
app:srcCompat=“@drawable/kabao” />
<TextView
android:id=“@+id/textView8”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:text=“卡包”
android:textColor=“@color/black”
android:textSize=“20dp”
app:layout_constraintStart_toStartOf=“@+id/textView7”
app:layout_constraintTop_toTopOf=“@+id/imageView6” />
<ImageView
android:id=“@+id/imageView7”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView6”
app:layout_constraintTop_toBottomOf=“@+id/imageView6”
app:srcCompat=“@drawable/biaoqing” />
<TextView
android:id=“@+id/textView9”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginTop=“10dp”
android:text=“心情”
android:textColor=“@color/black”
android:textSize=“20dp”
app:layout_constraintStart_toStartOf=“@+id/textView8”
app:layout_constraintTop_toTopOf=“@+id/imageView7” />
<ImageView
android:id=“@+id/imageView8”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView7”
总结:
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被步调猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。
[*] BAT大厂口试题、独家口试工具包,
[*] 资料包括 数据结构、Kotlin、盘算机网络、Framework源码、数据结构与算法、小步调、NDK、Flutter
https://i-blog.csdnimg.cn/blog_migrate/8c7dcef50ce0985d2e075a3cda8638d7.png
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才气走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
iew
android:id=“@+id/imageView8”
android:layout_width=“48dp”
android:layout_height=“44dp”
android:layout_marginTop=“30dp”
app:layout_constraintStart_toStartOf=“@+id/imageView7”
总结:
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被步调猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。
[*] BAT大厂口试题、独家口试工具包,
[*] 资料包括 数据结构、Kotlin、盘算机网络、Framework源码、数据结构与算法、小步调、NDK、Flutter
[外链图片转存中…(img-OpUFbwAA-1715184888517)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才气走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]