自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Android 弹窗弹出时隐藏底部导航栏

原理为弹窗设置不可获取焦点,在弹窗弹出后去除不可获取焦点标签,使弹出可以点击额外区域取消,且不会发生点击穿透,然后兼容部分机型,在弹出后调用hideNavigationBar隐藏状态栏。使用方法是在Dialog或者FragmentDialog的onCreate方法中直接调用initHideNavigationBarConfig()即可。我们在设备使用虚拟键导航时,弹窗弹出会调起底部导航栏导致抖动一下,原因是因为Dialog获取到了焦点导致导航栏被唤起。基于Kotlin的扩展方法,这里写一个工具类。

2024-03-19 16:09:06 237

原创 Android常见面试问题及其答案

思考:我们上面已经知道String是指向常量池的,它的值是不可变的,变更时其实是使用了StringBuilder进行拼接,再将拼接后的值在常量池中的地址指向给String,StringBuilder和StringBuffer的区别是前者线程不安全,效率高,后者线程安全。思考:String不可变的代码层原因是它的本质是一个设置为final的byte数组,内容不可变更,设计上是基于稳定考虑,毕竟不可变的对象是原子性的,线程安全的,避免了变化引起的问题。String b = "he"+"llo" (常量池)

2023-10-30 17:14:59 97

原创 安卓 synchronized(this)和synchronized(object)区别

synchronized(object)在多线程调用当前对象时,只阻塞同一个object对象的方法,而不是阻塞所有的synchronized方法,使用起来更加灵活。synchronized(this)在多线程调用this这个对象时,锁粒度比较大,它会将所有synchronized方法都阻塞。简单的线程锁一般有两种写法,它们本质上的区别是。

2023-07-31 17:39:04 92

原创 Git指令的基本使用

Git基本指令使用

2023-02-15 16:42:13 94

原创 Android 抽屉组件DrawerLayout的简单使用

对于点击屏幕上按钮,从屏幕外上下左右划出一个菜单的场景,Android原生的DrawerLayout简单实用,这里记录一下<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/home_drawer_lay

2022-05-20 14:22:43 2170

原创 Android 23种设计模式:(零)面向对象的六大原则

设计模式是安卓最重要的进阶知识之一,好的代码结构必定由各种设计模式组成,而学习设计模式之前,我们要了解面向对象的六大原则六大原则是设计模式的基础理念,这里只需要理解记忆,学习完所有的设计模式后,再回来看六大原则,应该能有很大的收获1、单一职责原则单一原则很简单,就是将一组相关性很高的函数、数据封装到一个类中,每个方法的职责单一这个原则是最简单,也是最难的一点,因为方法职责单一的界定,一般需要开发者自己的经验来判断举例说明class A{ // 执行第一步 pri..

2021-10-29 17:01:21 1044

原创 Android Studio无法手动设置NDK路径问题

点击File->Project Structure后,打开的这个界面无法配置NDK localtion解决方式是直接在local.properties中配置ndk路径

2021-10-29 10:50:42 4303 3

原创 Android WebSocket原理及实战(二)

上期原理篇我们讲到了WebSocket和HTTP的区别及其优缺点,这期主要是实战部分,大多数Android项目不需要使用第三方重量级的WebSocket框架,所以我以OKHttp3.0自带的WebSocket为例,来进行讲解添加依赖implementation "com.squareup.okhttp3:okhttp:4.9.0"实现步骤 构建OkHttpClient配置初始化一些参数。 使用WebSocket的Url地址连接。 设置WebSocket的连接状态回..

2021-10-28 18:26:42 3045 4

原创 Android WebSocket原理及实战(一)

近来封装了一个基于WebSocket服务的库,过程中对WebSocket进行了总结,分几个章节进行讲解,看完后,应该能够对以下内容有个简单的了解1、WebSocket原理2、WebSocket与Http的区别3、为什么要使用WebSocket4、Android端WebSocket实战下面开始WebSocket伴随HTML5协议横空出世,这里的HTML5指的是一系列新规范,新技术,那么在HTML5之前,为什么没有WebSocket,而现在WebSocket的加入,又是为了解决什么问题呢

2021-10-28 16:32:32 3424

原创 解决OpenCv 图像倾斜90度或者倒立的问题

最近在做人脸识别,刚刚把OpenCvSDK环境配置好,就发现预览时的图像惨不忍睹,前置斜着,后置也有问题,所以做了些修改,解决了前置和后置各自的角度问题直接搜索CameraBridgeViewBase这个类,替换成下面的代码 public abstract class CameraBridgeViewBase extends SurfaceView implements Surfac...

2018-08-31 11:16:46 1887 1

原创 Android Tv 焦点移动特效项目学习经验1

1. android:clipChildren的意思:是否限制子View在其范围内参考文章 http://blog.csdn.net/flymoon1201/article/details/446464732. android:clipToPadding 设置绘制区域是否不包括padding,常用于解决ImageView设置padding属性无效等问题参考文章 http://blog.

2017-10-09 16:56:01 262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除