JetpackCompose Modifier常用属性介绍(1)
目录
- 分离式组件
- 实例展示与 modifier 分析
- 完整结构
- 代码分析
- END
分离式组件
我们可以把组件移动到另外一个 kt 文件中书写,并在主文件进行引用即可,有利于解耦;
实例展示与 modifier 分析
下面展示一个简单的组件案例,并对其中的常见代码做出重点标注;
下图为运行后的完整结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5pJPdUVl-1664204266608)(…/imgs/compose/bas-component-modifier/bcm1.png)]
@Composable
fun PhotoGraphCard(modifier: Modifier = Modifier) {Row(modifier = Modifier.clip(RoundedCornerShape(4.dp)).background(MaterialTheme.colors.surface).clickable(onClick = {}).padding(16.dp)) {Surface(modifier = Modifier.size(50.dp),shape = CircleShape,color = MaterialTheme.colors.onSurface.copy(alpha = .2f)) {Image(painter = painterResource(id = R.drawable.ic_launcher_background),contentDescription = "null")}Column(modifier = Modifier.padding(start = 8.dp).align(Alignment.CenterVertically)) {Text(text = "lily", fontWeight = FontWeight.Bold)Text(text = "3 minutes ago", style = MaterialTheme.typography.body2)}}
}
完整结构
最外层套一个 Row,设置水平布局,左边为图像,右边为内容;
Surface 主要用来承载内部的 Image 组件;
Column 垂直布局,存放文本内容,一上一下两个文本;
代码分析
clip
设置裁剪;
RoundedCornerShape
裁剪圆角,类似于 CSS 的 border-radius;
background
背景设置;
MaterialTheme.colors.surface
获取主题色;
clickable
设置点击事件(添加这个修饰后,此 Row 被点击后即出现水波纹效果!)
padding
设置内边距;
注意:修饰符之间是有先后顺序的!当你把 clickable 放在 padding 后面的话,水波纹效果将不会出现在 padding 里面
Row(modifier = Modifier.clip(RoundedCornerShape(4.dp)).background(MaterialTheme.colors.surface).clickable(onClick = {}).padding(16.dp)
) {...
}
size 设置当前整个组件的大小;
shape 直截了当设置外形轮廓;
color 配置颜色;
copy(alpha = .2f) 表示将获取到的变量中的属性 alpha 更改为 0.2f,其余的属性值不变;
Surface(modifier = Modifier.size(50.dp),shape = CircleShape,color = MaterialTheme.colors.onSurface.copy(alpha = .2f)
) {...
}
Alignment.CenterVertically
垂直居中,当然还有水平居中;
padding(start = 8.dp)
左 padding 为 8 个 dp;
注意:两个文本中第二个文本使用了浅灰色,是根据官方推荐的 ”组件层次可以用颜色深浅表达”
Column(modifier = Modifier.padding(start = 8.dp).align(Alignment.CenterVertically)
) {Text(text = "lily", fontWeight = FontWeight.Bold)Text(text = "3 minutes ago", style = MaterialTheme.typography.body2)
}
END
很水,但是内容很水
JetpackCompose Modifier常用属性介绍(1)相关推荐
- CSS 选择器及常用属性介绍
文章目录 一.CSS语法 1.1 注释 1.2 CSS 引入方式 二.CSS 选择器-查找标签 2.1 基本选择器 标签选择器 ID选择器 类选择器 通用选择器 2.2 组合选择器 后代选择器 儿子选 ...
- div style常用属性介绍及使用示例
在div+css布局中经常被用到的就是div了,几乎所有的css属性都可以用到它的身上,本文整理了一些在页面布局中常用的属性的使用示例,有想学习css布局的朋友可以参考下 一.常用属性: 1.Heig ...
- 表格的常用属性介绍:
1:border:表格的边框 2:align:表格水平位置,也可以用于tr和td中,表示的是单元格内容的水平位置 3:bordercolor:边框颜色 4:width:表格宽度,可以使用比例,也可以使 ...
- WPF绑定功能常用属性介绍
1.Mode 绑定中数据流的方向(enum BindingMode) 目标属性指的是控件的属性 (1)TwoWay 更改源属性或目标属性时,会自动更新另一方.适用于可编辑窗体 例:TextBox (2 ...
- 常见的html行级元素及语义,HTML入门之——结构,常用标签及其属性,再加上语义化...
一,HTML简介(来源HTML百度百科) HTML:超文本标记语言,是指能够包含链接,图片,程序,视频等非文字元素的页面 二,HTML,XML,XHTML之间有什么区别 HTML:超文本标记语言,语法 ...
- android使用桢布局,Android 常用布局
Android的布局有: LinearLayout线性布局 RelativeLayout 相对布局 FrameLayout单桢布局 TableLayout表格布局 GridLay ...
- JetPack Compose之Modifier修饰符
前言 在Compose中,每一个组件都是带有@Compose注解的函数,被称为Composable.Compose已经预置了很多的Compose UI组件,这些组件都是基于Material Desig ...
- UIPATH 常用操作
控件 清空excel sheet 页 Sub clearEntireSheet() Sheets("Sheet名字").Cells.Clear End Sub 字符串换行符分割成l ...
- HTML5新增的9种常用的页面标签
在HTML5中,新增了9种常用的页面标签,详细介绍如下: 1.figure标签 figure标签是HTML5中新增的标签之一,表示一段独立的流内容(文本.图像). 在使用figure标签时,标签的内容 ...
- Android自定义键盘的简单实现
概述 突然发现好多软件都使用了自己定义的软键盘.自己就想着先把这块坑先踩踩把,以后掉坑的时候不至于帅的太惨.言归正传,对于自定义软键盘.需要用到系统提供的两个类:Keyboard和KeyboardVi ...
最新文章
- 怎么点亮段码屏_手机被人偷了,支付宝里的钱被转走了,遇到这种情况该怎么办?...
- 美甲帮:玩转指甲上的大数据平台
- draw.io二次开发(1)三种运行模式的区别
- Android——监听事件总结
- 前端学习(1840):前端面试题之mpvue和小程序
- 【C语言进阶深度学习记录】二十七 C语言中字符串的相等比较
- 【数字逻辑设计】卡诺图
- 12306一直提示网络有问题_春运攻略:西安网友买票遇到的这些问题,这里有答案...
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
- Linux服务器基本安全加固
- 【STM32F429开发板用户手册】第2章 STM32F429的开发环境搭建
- 51单片机八段数码c语言程序,51单片机做的音乐盒,带八段数码管显示程序+Proteus仿真...
- 思迅软锁安装配置说明
- CDN,P2P,PCDN的区别?
- 西南大学统考英语计算机有答案吗,西南大学1806课程[0002]《英语》机考A卷答案参考...
- java 使用subList痛彻心扉的领悟
- 魔术师的猜牌术(1)
- 光机相互作用的哈密顿量
- 超微服务器修改raid卡,超微主板怎么创建RAID磁盘阵列 AMD主板RAID设置介绍
- 计算机的主机有哪些东西,代替你电脑的所有接口,世界最快的雷电3了解一下...
热门文章
- JAVA如何在LINUX里编程,如何使用加多宝(jdb)在linux下调试Java程序
- 第十一章 枚举与泛型
- Spring - 事件监听机制 源码解析
- NAIPC2016 I. Tourists【LCA】
- 网络图片地址直接转Base64
- arm版红帽企业linux,红帽:ARM架构下的Linux不是玩笑
- 台式机设成仅计算机,将台式机更改为笔记本,将笔记本电脑更改为台式机
- html在表格输入文字不显示,Word表格中有部分格子内无法输入文字是怎么回事?...
- 深夜更新博客的美女们[组图]
- lesson2分频计数器设计