logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

内联函数let、also、with、run、apply的用法

let在函数体内使用 it 代替调用者访问其公有的属性和方法val person = Person("fzh", 22)person.let {print("name = ${it.name}")}可以对一个可能为空的对象(object?)进行判空操作val person = getPerson()// 如果person为null,将不会执行let块person?.let {print("name

#kotlin
FragmentTransaction 的 replace, add, hide, show 的使用和区别

引入现在 APP 的主页面大多采用“单 Activity + 多 Fragment”的形式。多 Fragment 的使用需要解决两个问题:Fragment 怎么依附在 Activity 上Fragment 间的切换对于第一个问题,可以利用 FrameLayout 来解决,FrameLayout 可以作为承载 Fragment 的容器,又可以成为 Activity 布局的一部分,这样就可...

解决 Fragment 重叠问题

Fragment 重叠问题的产生因为某些原因(例如旋转屏幕)而导致 Activity 发生重建时,Fragment 也会发生重建。重建的 Fragment 如果没有保存状态,那么它的 mHidden 默认为 false,即 hide 失效,这时所有添加到容器的 Fragment 都会显示出来,就产生了重叠现象。解决问题要解决 Fragment 的重叠问题,关键是要在 Activity 发生重...

FragmentTransaction 的 replace, add, hide, show 的使用和区别

引入现在 APP 的主页面大多采用“单 Activity + 多 Fragment”的形式。多 Fragment 的使用需要解决两个问题:Fragment 怎么依附在 Activity 上Fragment 间的切换对于第一个问题,可以利用 FrameLayout 来解决,FrameLayout 可以作为承载 Fragment 的容器,又可以成为 Activity 布局的一部分,这样就可...

冒泡排序及其优化(三种优化)

文章目录普通的冒泡排序优化一:设置标志位优化二:设置结束边界优化三:双向冒泡排序最终优化:优化一 + 优化二 + 双向冒泡写在最后参考普通的冒泡排序public void bubbleSort(int[] a) {for (int i = 0; i < a.length - 1; i++) {// 外层控制循环次数for (in...

FragmentTransaction 的 replace, add, hide, show 的使用和区别

引入现在 APP 的主页面大多采用“单 Activity + 多 Fragment”的形式。多 Fragment 的使用需要解决两个问题:Fragment 怎么依附在 Activity 上Fragment 间的切换对于第一个问题,可以利用 FrameLayout 来解决,FrameLayout 可以作为承载 Fragment 的容器,又可以成为 Activity 布局的一部分,这样就可...

揭露动画(RevealAnimator)的基本使用

前言揭露动画是 Android 5.0 的新特性,使用该动画后,在显示或隐藏视图的时候能够给用户提供视觉连续型。效果先上最终的效果图,毕竟只有当你对动画效果感兴趣的时候,才会认真地看它的代码实现。由于是在模拟器上运行,可能有点卡顿,在真机上效果会更好API在讲代码实现前,先介绍下实现揭露动画的 API:ViewAnimationUtils.createCircularReveal 方...

安卓显示或隐藏控件时附带动画效果

前言控件可以通过 setVisibility 方法进行显示和隐藏。默认情况下没有动画效果,直接显示和隐藏有时候显得比较生硬。带有动画效果的显示和隐藏更加优雅,例如在阅读小说时,点击小说弹出设置时,会伴随着滑动的动画。本文就通过这个例子来进行说明,先上效果图:实现下面说下如何实现。在 xml 中创建动画首先在 res 文件夹中新建 anim 文件夹,然后编写要实现的动画。对于上面的动...

#动画
内联函数let、also、with、run、apply的用法

let在函数体内使用 it 代替调用者访问其公有的属性和方法val person = Person("fzh", 22)person.let {print("name = ${it.name}")}可以对一个可能为空的对象(object?)进行判空操作val person = getPerson()// 如果person为null,将不会执行let块person?.let {print("name

#kotlin
到底了