在开发中有的时候需要去计算文本的高度或者行数,从而控制展示的内容,比如进一步设置展示控件的高度,或者根据行数进行不同的内容展示。 在原生 Android 开发时,View 的...
在开发中有的时候需要去计算文本的高度或者行数,从而控制展示的内容,比如进一步设置展示控件的高度,或者根据行数进行不同的内容展示。 在原生 Android 开发时,View 的...
认识 LiveData LiveData 是一种可观察的数据存储器类。同时它具备生命周期感知能力,确保只更新处于活跃生命周期状态的观察者组件。 LiveData 具有以下优势...
什么是扩展函数 扩展函数是 Java 不具备的,而 Kotlin 独有的特性,在日常开发中使用频率很高,类似于设计模式中的装饰模式,其作用就是在不改变原有类的情况下,扩展新的...
认识 Lifecycle Lifecycle 是什么 Lifecycle 是 Jetpack 组件库中的一个生命周期感知型组件。在 Lifecycle 出现之前,需要手动从外...
在使用中的不同 1.在Activity中跳转到其他的Activity时,两种使用方法是一样的: 2.从非 Activity (例如从其他Context中)启动Activity...
前言 自定义View是Android开发中非常常用的知识 可是,在使用过程中,有些开发者会发现:为什么自定义View 中设置的wrap_content属性不起作用(与matc...
我们知道Activity有任务栈,用户通过startActivity将Activity加入栈,点击返回按钮将Activity出栈。Fragment也有类似的栈,称为回退栈(B...
概述 在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插件化和热修复的框架似乎已经日趋成熟,许多开发者也把这两项技术...
注:本文基于 Retrofit2.0版本,并配合 RxJava 来分析。com.squareup.retrofit2:retrofit:2.0.0com.squareup.r...
认识 ViewModel ViewModel 是一种用来存储和管理UI相关数据的类。 ViewModel 的作用可以从两个方面去理解: UI界面控制器:在最初的MVC模式中,...
Kotlin 语言中的协程 Coroutine 极大地帮助了开发者更加容易地处理异步编程。就 JVM 的角度而言,协程一定程度上减少了 “回调地狱” 的问题,切实地改进了...
sealed 意为密封的,可修饰类 class 和接口 interface,用来表示受限的继承结构。 Sealed Class 介绍 sealed class,密封类,密封类...
在 Android 原生开发中对 View 的 touch 事件处理有这么几种方式: setOnClickListener:监听点击事件 setOnTouchListener...
在使用原生开发的时候,Android为了仿照iOS的左滑删除菜单,有一些好用的三方库,比如SwipeRevealLayout,可以实现侧滑删除。当转向Compose开发,如何...
官方说明文档:https://developer.android.google.cn/develop/ui/compose/side-effects[https://deve...
生肖之起源 十二生肖,又叫属相,是中国与十二地支相配以人出生年份的十二种动物,包括鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。其起源与动物崇拜有关。 据湖北云梦睡虎地和甘...
如果使用纯Compose开发Android应用,在页面导航方面navigation-compose几乎是唯一选择。介绍一下navigation-compose的简单使用。本篇...
高阶函数 高阶函数定义 高阶函数是指可以接收其他函数作为参数,或者返回一个函数的函数。在许多编程语言中,高阶函数都是一种重要的编程方式,因为它们提供了更高的抽象层次,使得代码...
记录Android原生项目集成Flutter模块经验,其中不乏一些踩坑,也是几番查找资料之后才成功运用于实际开发。主要为了记录,将使用简洁的描述。 Flutter开发环境 1...
在上一篇文章Flutter动画学习之简介[https://www.jianshu.com/p/3b3e2f60bd1b]中了解了Animation、Curve、Control...