抖音客户端训练营--day2

article/2025/7/26 21:27:21

常见的布局

布局的选择依赖于对性能的需求,其中约束布局的效果最好,但是学习成本高

帧布局

是最简单的布局容器,将所有的子元素堆叠在一起,默认放置在左上角,新添加的元素会覆盖在之前元素的上方,形成层叠效果

线性布局

这是最基本的布局方式,适用于简单的线性排列需求

约束布局

每个视图都有八个约束锚点:如图所示

包含上下左右四边以及四个角,可以与其他视图的锚点或者父容器建立约束关系 

链和屏障

chain:将多个视图以链的形式连接,控制它们的排列方式

barrier:为一组视图创建虚拟屏障,其余视图可以依赖此屏障定位

ConstraintLayout 是 Android 开发中用于构建复杂用户界面(UI)的​​布局容器​​,属于 Android Jetpack 组件库的一部分。它的核心思想是通过定义​​约束关系(Constraints)​​来确定子控件的位置和尺寸,替代传统布局(如 LinearLayoutRelativeLayout)的层级嵌套,从而实现更灵活、高效的 UI 设计。

不需要使用层级的方式,只有一层

<androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><!-- 按钮 A 左侧对齐父布局左侧,顶部对齐父布局顶部 --><Buttonandroid:id="@+id/buttonA"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="A"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><!-- 按钮 B 左侧对齐按钮 A 右侧,顶部对齐父布局顶部 --><Buttonandroid:id="@+id/buttonB"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="B"app:layout_constraintStart_toEndOf="@+id/buttonA"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

使用Layer操作进行分组

<androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><!-- 定义控件 --><ImageViewandroid:id="@+id/image"... /><TextViewandroid:id="@+id/title"... /><Buttonandroid:id="@+id/button"... /><!-- 定义 Layer --><androidx.constraintlayout.helper.widget.Layerandroid:id="@+id/layer"android:layout_width="wrap_content"android:layout_height="wrap_content"app:constraint_referenced_ids="image,title,button"  <!-- 关联控件 -->android:rotation="0"  <!-- 初始旋转角度 -->android:translationY="0dp" /> <!-- 初始平移位置 --></androidx.constraintlayout.widget.ConstraintLayout>

代码中的使用

val layer = findViewById<Layer>(R.id.layer)// 统一旋转
layer.rotation = 45f// 统一平移
layer.translationX = 100f// 统一缩放
layer.scaleX = 0.8f
layer.scaleY = 0.8f

常见的UI控件以及使用

1. imageview:src设置图片资源,background 设置背景,tint 设置图片着色

2. scaleType:

 

使用图片加载库 

recyclerView:可以活动的组件,高效显示大量数据集 

 EditText:

继承自Textview,在文本显示的基础上,增加了文本编辑能力,允许用户通过触摸键盘输入和编辑文本

Toast:提示,表示用户的动作

snackbar:增加了交互部分

dialog:层级高于应用的,覆盖常用的页面上面,由自己创建和管理

activity 的生命周期

Activity 是安卓应用的基础部分,代表用户可以执行操作的单个屏幕

生命周期回调函数

Android 数据存储方案概述


http://www.hkcw.cn/article/WGQBGnBXgf.shtml

相关文章

郑钦文胜利后发文送儿童节祝福 首次闯进法网八强

北京时间6月1日,在2025年法国网球公开赛女单第四轮比赛中,中国选手郑钦文击败俄罗斯球员萨姆索诺娃,首次闯进法网女单八强。赛后,她难掩激动心情,在场边与观众一同唱起歌曲《日不落》,现场气氛热烈。这一幕有其缘起。在上一轮比赛中,郑钦文击败姆博科晋级16强后,在社交…

不要一直坐着!研究发现久坐时间越长,患痴呆风险更大 老年朋友需特别注意

在快节奏的现代生活中,少坐多动似乎成了难以实现的目标。久坐已成为很多人的常态,尤其是老年人,由于身体状况不佳、缺乏社交和活动兴趣,养成了长期久坐的习惯。然而,这种看似平常的行为对老年人的健康产生了重大影响。近期发表的两项研究探讨了久坐对老年人认知功能和心血…

端午假期后天气 南北差异明显

端午假期(5月31日至6月2日)即将到来,作为传统节日,赛龙舟、包粽子等民俗活动丰富多彩。今年假期恰逢六一儿童节,亲子游和短途游的热情也格外高涨。中国天气网推出了2025年全国端午假期天气地图和十大热门出游地晴雨表,帮助大家了解出行所需装备。从天气地图来看,北方大部…

网传赵丽颖将客串九门 热度背后引思考

最近,娱乐圈再次掀起热议,网传赵丽颖将客串《九门》,消息迅速登上热搜,引发粉丝和网友的热烈讨论。然而,在这波热度背后,值得我们冷静思考的是,这样的炒作是否真的有必要。《九门》已经官宣了新女主陈瑶,她为诠释霍仙姑一角付出了诸多努力,从研读剧本到练习民国礼仪都…

距今约3万年的山顶洞人身高曝光 远古人类身高新发现

近日,一项关于山顶洞人的研究成果引发热议。研究显示,距今约3万年的山顶洞人男性平均身高约为1.74米,女性约为1.59米,与现代人身高非常接近。这一发现仿佛打开了一扇穿越时空的大门,让人们得以一窥远古人类的生活。山顶洞人在人类进化史上占据重要地位。与更早的北京猿人相…

马斯克称政府效率部成了替罪羊 裁员责任全推卸

当地时间6月1日,美国企业家埃隆马斯克在接受哥伦比亚广播公司采访时表达了他对美国政府的态度。他表示自己不想公开反对政府,但也不愿意为政府的所有行为承担责任。他提到,由他领导的“政府效率部”成为了所有问题的替罪羊,无论是真实的还是虚构的裁员事件都被归咎于该部门…

听航天专家揭秘天问二号任务 探秘小行星取样返回

我国在西昌卫星发射中心用长征三号乙运载火箭成功发射了行星探测工程天问二号探测器。火箭飞行约18分钟后,将探测器送入地球至小行星2016HO3的转移轨道。随后,探测器太阳翼正常展开,标志着发射任务圆满成功。天问二号是我国首次实施的行星际取样返回任务,旨在对小行星2016H…

【PyQt5】PyQt5初探 - 一个简单的例程

PyQt5初探 - 一个简单的例程 引言一、安装配置二、使用2.1 PyQt5简单例程2.2 与c Qt深入对比 三、相关教程 引言 PyQt5是一个比较流行的Python图形用户界面(GUI)库&#xff0c;它基于Qt库&#xff08;一个跨平台的C库&#xff0c;用于开发应用程序的图形界面&#xff09;为Pyt…

复数的指数形式:MATLAB演示

复数的指数形式&#xff1a;MATLAB演示 复数在工程和科学计算中无处不在&#xff0c;而指数形式&#xff08;又称极坐标形式&#xff09;是表示和处理复数的一种强大方式。本文将介绍复数的指数形式表示法&#xff0c;并展示如何使用MATLAB进行相关计算和可视化。 复数的基础…

FastAPI MCP 快速入门教程

目录 什么是 FastAPI MCP&#xff1f;项目设置1. 初始化项目2. 安装依赖3. 项目结构 编写代码创建主应用文件 运行和测试1. 启动服务器2. 使用 MCP Inspector 测试 什么是 FastAPI MCP&#xff1f; FastAPI MCP 是一个将 FastAPI 应用程序转换为 Model Context Protocol (MCP)…

俄罗斯代表团抵达土耳其 将参加俄乌谈判

当地时间6月1日,俄罗斯代表团抵达土耳其伊斯坦布尔,准备参加即将举行的俄乌谈判。俄谈判代表团团长梅金斯基在抵达后表示,所有与乌克兰谈判相关的评论都将于6月2日做出,并会在当天就俄罗斯在乌克兰问题上的立场发表详细声明。同一天,俄方代表团成员、俄国防部副部长福明也…

官员不作为岂能成为卖货噱头 消解严肃叙事引争议

5月31日晚,曾在热播电视剧《人民的名义》中饰演“宇宙区长”孙连城一角的演员李威,在短视频平台开启直播带货,销售天文望远镜。近一周内,李威已进行了三场相关直播。然而,6月1日上午,他发布的直播预告视频疑似被隐藏或删除,商品橱窗里的天文望远镜也已清空。李威在《人民…

当地纪委监委介入同案相反判决事件 调查正在进行

5月31日,河南省信阳市平桥区纪委监委发布情况通报。近日,网上关于“律师称两天收到同案相反‘判决’”引起网民关注。经核实,该案件是平桥区人民法院审理的一起股权转让纠纷案件。目前,平桥区纪委监委已介入调查。责任编辑:zx0176

苏超南京队1比0赢无锡队 热度胜似中超

今晚在南京五台山体育馆举行的比赛,南京队1:0 无锡队。真没想到这段时间的“苏超联赛”热度胜似“中超联赛”......责任编辑:zx0001

俄媒:乌摧毁俄大量轰炸机纯属谎言 乌方说法遭驳斥

俄罗斯“与假新闻作战”网站发布文章称,通过分析乌克兰方面发布的视频可以确认,乌总统泽连斯基关于“已摧毁34%俄罗斯远程机队”的说法并不属实。俄方认为,乌克兰实际上可能仅摧毁了两架图-95战略轰炸机及一架安-12运输机,其余受损飞机在维修后均可恢复作战能力。乌克兰国家…

Python数学可视化——坐标系与变换

Python数学可视化——坐标系与变换 直角坐标与极坐标转换及几何变换 本节将实现坐标系变换可视化工具&#xff0c;包括直角坐标系与极坐标系的相互转换&#xff0c;以及几何变换&#xff08;平移、旋转、缩放&#xff09;的数学原理展示。最后通过行星轨道案例演示极坐标的实际…

樊振东留洋细节:10天前主动联系俱乐部 新挑战与期待

德甲联赛萨尔布吕肯乒乓球甲级俱乐部宣布,奥运冠军樊振东加盟。在俱乐部的官方声明中,樊振东表示他非常期待在萨尔布吕肯和德甲的新挑战,体验新的环境,并与球队一起赢得更多的胜利。新赛季,樊振东将代表俱乐部征战乒乓球德甲联赛。球队经理表示这一切来得如此令人惊讶且迅…

端午节广州一景区发现7个莲花奇观 罕见奇观引游客驻足

5月31日,广州莲花山旅游区出现了多株莲花奇观。端午节假期首日,景区发现了7朵奇特的莲花,其中包括三株并蒂莲、两株双色莲、一株同心莲和一株三心莲,吸引了众多游客驻足拍照。广州莲花山曾多次出现双色、多蒂、多心等罕见的莲花奇观。每年6月下旬至8月是景区的莲花节,也是…

中国女排世联赛名单公布朱婷袁心玥落选 全网炸锅引发热议

2025年中国女排世联赛名单公布后,引起了广泛关注。朱婷和袁心玥两位世界级球星意外落选,取而代之的是一批年轻队员和二线老将。球迷们对此感到困惑:29岁的袁心玥正处于副攻黄金年龄,留洋期间技术还在不断进步;朱婷虽然年过三十,但在土耳其联赛依然稳坐主攻手位置。球迷质…

北大男孩谈如何把时间花在刀刃上 高考冲刺实用攻略

随着高考日益临近,考前10天是知识巩固和心态调整的关键时期。考生应实现复习策略的三个转变,在心态上完成软着陆;家长则需做好后勤保障与心理疏导工作,帮助孩子平稳应考。作为南城巴川学校的一线教师,结合多年的教育实践,分享一些备考经验。例如,语文要逐字抠《赤壁赋》…