目录 一、低级别动画API 1.1animateAsState 1.2Animatable 1.3Transition动画 1.3.1updateTransition 1.3.2createChildTransition 1.3.3封装并复用Transition动画 1.4remeberInfiniteTransition——无限循环的transition动画 1.5小结 二、AndroidStudio对Compose动画调试的支持 三、AnimationSpec动画规格 3.1SpringSpec弹跳动画 3.2TweenSpec补间动画 Easing PathEas...

  QvhtKPCC6f6j   2天前   8   0   0 Android开发

看问题本质,设置全面屏,是系统窗口的行为,与View和Compose有什么关系呢?所以,原理和传统View视图是一样的,甚至Api都是一模一样的,不熟悉的可以看我之前的文章。传送门: Android全面屏体验 那为什么还要写这篇文章呢?主要是在Compose中写法上的一些区别,直接上代码: 找到主题设置的代码,默认生成的主题如下: @Composable funHelloComposeTheme( darkTheme:Boolean=isSystemInDarkTheme(), //DynamiccolorisavailableonAndroid12+ dynamicColor:Boolean...

  QvhtKPCC6f6j   2天前   9   0   0 Android开发

问题:JetpackCompose中使用Material包中的控件,点击默认会有水波纹效果。如何去除这个点击水波纹效果呢?看下Modifier.clickable的签名: funModifier.clickable( interactionSource:MutableInteractionSource, indication:Indication?, enabled:Boolean=true, onClickLabel:String?=null, role:Role?=null, onClick:()->Unit ) 其实就是indication这个参数决定的。 针对局部单个点击去除水...

  QvhtKPCC6f6j   2天前   8   0   0 Android开发

目录 一、状态变化 1.1状态变化是什么 1.2mutableStateListOf和mutableStateMapOf 二、重组的特性 2.1Composable重组是智能的 2.2Composable会以任意顺序执行 2.3Composable会并发执行 2.4Composable会反复执行 2.5Composable的执行是“乐观”的 三、重组范围 四、参数类型的稳定性 4.1稳定和不稳定 4.2@Stable和@Immutable 上一篇文章讲了Compose中状态管理的基础知识,本文讲解Compose中状重组的相关知识。 一、状态变化 1.1状态变化是什么...

  QvhtKPCC6f6j   25天前   56   0   0 Android开发

目录 一、Composable的生命周期 二、Composable的副作用 2.1SideEffect 2.2DisposableEffect 2.3LaunchedEffect 2.4rememberCoroutineScope 2.5rememberUpdatedState 2.6derivedStateOf 2.7snapshotFlow 2.8produceState 三、总结 写在最后 一、Composable的生命周期 Composable组件都是函数,Composable函数执行会得到一棵视图树,每一个Composable组件对应视图树上的一个节点。Compo...

  QvhtKPCC6f6j   25天前   38   0   0 Android开发

上一篇文章拿TextField组件举例时,提到了State,即状态。本篇文章,即讲解State的相关改概念。 一、什么是状态 与其它声明式UI框架一样,Compose的职责非常单纯,仅作为对数据状态的反应。如果数据状态没有改变,则UI永远不会自行改变。在Compose中,每一个组件都是一个被@Composable修饰的函数,其状态就是函数的参数,当参数不变,则函数的输出就不会变,唯一的参数决定唯一输出。反言之,如果要让界面发生变化,则需要改变界面的状态,然后Composable响应这种变化。下面还是拿个例子来说,做一个简单的计数器,有一个显示计数的控件,一个增加的按钮,每点击一次,则技术计数器...

  QvhtKPCC6f6j   2024年03月13日   30   0   0 Android开发

亲测可行,AndroidStudio查看源码出现Sourcefor‘AndroidAPIxxxPlatform’notfound的解决方法 如标题中的问题,产生的原因就是SDK源码目录下找不到对应版本的源码文件。解决方案一般就是下载对应版本的源码文件即可。 这里主要是另一种情况,每次Google发布Android新的版本时,对应源码还没有提供下载(一般会在正式版发布以后的某个时段提供)。这时怎么办呢? 思路就是把旧版本的源码先用着。 这里以AndroidAPI34为例。,将Android33的源码强行拷贝,当做API34来用。 步骤如下: 到AndroidSDK目录下(sdk/sources...

  QvhtKPCC6f6j   2023年12月31日   28   0   0 .NET

如何在WindowManager.addView中使用JetpackCompose 一、引出问题 Android开发中,很常见的一个场景,通过WindowManager.addView()添加一个View到屏幕上。Android最新的视图框架JetpackCompose,如何应用进来。这个被添加的View如何使用Compose编写视图呢? 二、探究问题 有的朋友肯定会马上想到使用ComposeView作为桥梁。没错,WindowManager.addView方法,就接收一个View类型的参数。那肯定是要借助ComposeView了。但是,经过试验,直接使用ComposeView是行不通的。看代...

  QvhtKPCC6f6j   2023年12月26日   10   0   0 Android开发

一、引出问题 你是否有在使用Gson序列化对象时,见到如下异常: Abstractclassescan'tbeinstantiated!RegisteranInstanceCreatororaTypeAdapterforthistype. 什么时候会出现如此异常。下面举个栗子: importcom.google.gson.Gson importcom.google.gson.reflect.TypeToken sealedclassGender objectMale:Gender() objectFemale:Gender() dataclassStudent( valid:Int, v...

  QvhtKPCC6f6j   2023年12月12日   13   0   0 Android开发

亲测可行,AndroidStudio查看源码出现Sourcefor‘AndroidAPIxxxPlatform’notfound的解决方法 如标题中的问题,产生的原因就是SDK源码目录下找不到对应版本的源码文件。解决方案一般就是下载对应版本的源码文件即可。 这里主要是另一种情况,每次Google发布Android新的版本时,对应源码还没有提供下载(一般会在正式版发布以后的某个时段提供)。这时怎么办呢? 思路就是把旧版本的源码先用着。 这里以AndroidAPI34为例。,将Android33的源码强行拷贝,当做API34来用。 步骤如下: 到AndroidSDK目录下(sdk/sources...

  QvhtKPCC6f6j   2023年11月06日   42   0   0 .NET

目录 一、基础语法 1.1常见数据类型 1.2变量 1.2.1变量声明 1.2.2类型推断 1.2.3Null安全 1.2.4面向对象语言 1.3流程控制 1.3.1if表达式 1.3.2When表达式 1.3.3For循环 1.3.4While循环 二、函数与lambda表达式 2.1函数声明 2.2函数类型 2.2.1示例引入 2.2.2Koltin函数类型 2.2.3函数引用 2.2.4高阶函数 2.3lambda表达式 2.3.1lambda表达式的概念 2.3.2lambda表达式的写法演变过程 2.3.3lambda表达式自调用 2.3.4总结 三...

  QvhtKPCC6f6j   2023年11月01日   362   0   0 Android开发
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~