
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
LiveData是一个可以被观察的数据持有类,它可以感知并遵循Activity、Fragment或Service等组件的生命周期。其中主要包含的方法有:setValue、postValue以及observe;

不管是抽象类还是实现类都可以用来实现接口,建议使用抽象类被用来实现接口,因为要实现实现类里面的所有方法和属性,如果不使用抽象类就显的有些乱,降低代码可读性**...
Kt写法缩略版函数思维模式//使用在RV的adapter中的回调里面//初始化创建匿名接口回调private var mListener: ((a: Int, b: String) -> Unit)? = null//.....fun setOnItemClickListener(mListener: (position: Int, item: String) -&...
reflow 的本质就是重新计算 layout 树。当进行了会影响布局树的操作后,需要重新计算布局树,会引发。为了避免连续的多次操作导致布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后再进行统一计算。所以,改动属性造成的reflow 是异步完成的。也同样因为如此,当 JS 获取布局属性时,就可能造成无法获取到最新的布局信息。浏览器在反复权衡下,最终决定获取属性立即 reflow。宽、

dialog设置主题样式<style name="pro_dialog" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><!--边框--><item name="android:windowIsFloating">true
回退方法:NavHostFragment.findNavController(this).navigateUp()findNavController().popBackStack()在使用这个findNavController().popBackStack()方法从FragmentA返回FragmentB的时候 ,然后在进入FragmentA就会包 那个错误;然后使用NavHostFragment
StatefulWidget:动态组件 例如:进度条....StatelessWidget:静态组件大部分都是继承于StatelessWidget
**混合模式可以做图片特效**
<font color="red">As 4以后</font>C:\Users\{你的用户名}\AppData\Roaming\Google\AndroidStudio4.1\plugins<font color="red">As 4之前</font>C:\Users\{你的用户名}\.AndroidStudio xx\plugins







