logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Compose 动画 - 共享元素过渡动画 SharedTransitionLayout

共享元素过渡是一种在内容之间具有一致的可组合项之间的无缝过渡方式。它们通常用于导航,当用户在这些屏幕之间导航时,可以直观地将不同的屏幕连接起来。结合 AnimatedContent() 或 AnimatedVisibility() 使用,将内容变化的动画交由系统处理。

#android
Compose - 权限申请

不同版本中,权限状态(如PermissionState)中获取属性的方法不同,例如在“0.23.1”中,通过 PermissionState.hasPermission 属性拿到是否通过的 Boolean 值,在“0.35.0-alpha”中,通过 PermissionState.status.isGranted 属性拿到。

#android
Compose - 与View互操作

ComposeView负责对Android平台的Activity窗口的适配,AndroidComposeView负责连接LayoutNode视图系统与View视图系统。

#android
Compose 可组合项 - 日期选择 DatePicker、DatePickerDialog

onDismissRequest: () -> Unit,//关闭对话框回调confirmButton: @Composable () -> Unit,//确认按钮= null,//取消按钮properties: DialogProperties = DialogProperties(usePlatformDefaultWidth = false),//对话框配置,详见。

#android
Compose - 修饰符 Modifier

width(intrinsicSize: IntrinsicSize)//参数为 IntrinsicSize.Min 或 IntrinsicSize.Max。设置首选值(如果指定的大小不满足父布局的约束,则尺寸将会无效。.size(width: Dp, height: Dp)//分开设置宽高。设置 weight 时,fill = true/false 的区别。.size(size: Dp)//同时

#android
Compose - 可组合函数 @Composable

原因:调用 forEach() 遍历时,生成4个组合项并依次插入数据,LaunchEffect() 也就执行并输出了4次,但是由于条目和元素没有一一对应,当列表头部新插入一个元素时,会把新元素插入第一个条目,其余的一次插入后面的条目,最后一个插入新条目,因此前四个条目发生了重组(最后一个是新增的就不存在重组)。当 State 发生改变时,以引用了该 State 的组合函数为起点,根据其所调用的子组

#android
Compose 可组合项 - 输入框 TextField、OutlinedTextField、BasicTextField

innerTextField 是输入框的实现,必须并且也只能调用一次这个函数,在 decorationBox 中通过自定义 innerTextField 的调用位置等方式实现自定义自己需要的文本框的目的。Sentences//当输入英文时候,将每个字母的第一个字符大写。Words//当输入英文的时候,将每个字母的第一个字符小写。Characters//将所有的字符大写。代码可设置的内容同 Text

#android
Compose 自定义 - 布局(测量+摆放) Layout

就是自定义一个 Modifier 的扩展函数,实现它的 layout( ) 方法如何测量及放置自身。形参Lambda有2个参数,measurable用于子元素的测量和放置,constraints约束子元素宽高的最大和最小值。自定义函数的形参需要接收一个Modifier(外部用来修饰该自定义组件的属性或约束),还有一个Composable函数(做为该自定义组件的子元素)。

#android
Compose - 屏幕适配(尺寸、主题、状态栏、国际)

smallestWidth 方案也一样适用于Compose,通过 dimensionResource( ) 方法获取 res 中 dimen 值会转换为 Dp 类型,如果项目中已经使用了 smallestWidth 方案依然可以继续使用。px = sp * fontScale * density,fontScale 代表当前系统字体的缩放比例,通过 LocalDensity.current.fon

#android
Compose 可组合项 - 分页器 HorizontalPager、VerticalPager

类似于 ViewPager,1.4 版本之前需要借助 accompanis 库,底层基于 LazyColumn、LazyRow 实现,在使用上也基本相同。默认情况下 HorizontalPager 占据屏幕的整个宽度,VerticalPager 会占据整个高度。

#android
    共 16 条
  • 1
  • 2
  • 请选择