Kotlin入门
Kotlin学习笔记
lly-rachel
这个作者很懒,什么都没留下…
展开
-
Android 实现全屏截图、剪裁图片、分享图片至其他应用进程功能(踩坑记录)
Android 实现全屏截图、剪裁、分享功能项目中需要用到 截图分享 的功能,特此写下查询资料过程中的踩坑记录。 1、全屏截图1.1 踩坑记录第一个坑:方法已被弃用(先前实现的全屏截图方法,已经在api28及以上弃用) // View是全屏截图 **已弃用** View getView = this.getWindow().getDecorView(); getView.setDrawingCacheEnabled(true); getVie原创 2021-05-13 16:41:09 · 1342 阅读 · 3 评论 -
在activity的toolbar中使用menu
在activity的toolbar中使用menu1 创建menu文件在res/menu中创建 activity_detail_menu.xml<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <原创 2021-05-10 20:30:55 · 165 阅读 · 0 评论 -
Kotlin实现自定义圆形ImageView
Kotlin实现自定义圆形ImageView在项目中做用户头像经常需要实现圆形头像的功能,查找资料后,实现自定义圆形ImageView效果。package com.example.customlockscreen.Utilimport android.annotation.SuppressLintimport android.content.Contextimport android.graphics.*import android.graphics.drawable.BitmapDrawab原创 2021-05-09 21:24:33 · 891 阅读 · 0 评论 -
Android在数据库储存图片资源id方法
Android在数据库储存图标资源的方法问题:项目中需要存储图标资源,若数据库中直接存储图标资源id(R.mipmap.icon)显然是有风险的做法。因为每次编译应用程序时会自动生成R文件,所以每次启动时,图片资源id都可能会发生变化。即 图片资源id(int)并不是恒不变的,不能通过数据库静态储存id来获取图片。解决方法://数据库储存 String 类型{图标资源名称}var iconName:String = resources.getResourceEntryName(R.mipmap.a原创 2021-04-26 20:42:14 · 926 阅读 · 0 评论 -
Kotlin实现沉浸式状态栏踩坑记录——图片延伸至状态栏,且不影响toolbar的占位
沉浸式状态栏实现 图片延伸至状态栏,不影响toolbar的占位 private fun steepStatusBar() { var release=Build.MODEL if (release!=null){ if (release.contains("HUAWEI")){ window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)原创 2021-04-18 21:13:21 · 760 阅读 · 1 评论 -
activity获取某个View宽高的解决办法
问题在 Activity 启动后就获取这个View 的宽/高因为View的measure过程和Activity 的生命周期方法不是同步执行的,无法保证在 onCreate、onStart、onResume 时,某个 View 已经被测量完毕。 解决办法1、onWindowFocusChanged(hasFocus: Boolean)View已经初始化完毕,当 activity 的窗口得到焦点或者失去焦点时被调用(即当 activity 继续执行或者暂停执行时均会被调用) overrid原创 2021-04-12 22:37:16 · 117 阅读 · 0 评论 -
Android的IPC机制(中)—— Kotlin 详细实现 AIDL
Android的IPC机制 IPC(Inter-ProcessCommunication),含义为进程间通信或跨进程通信,是指两个不同进程之间进行数据交换的过程。 任何操作系统都有其相应的IPC机制,例如:Windows 上可以通过剪贴板、管道和邮槽等来进行进程间通信。Linux 上可以通过命名管道、共享内存、信号量等来进行进程间通信。Android 是一种基于 Linux 内核的移动操作系统,对于 Android 来说,它也有其特有的进程间通信方式。Android的IPC机制上篇:简单介绍了Bu原创 2021-04-01 21:47:58 · 249 阅读 · 0 评论 -
Android序列化的定义及作用—Kotlin实现 Parcelable 接口
序列化 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化 序列化技术将数据转化成字节流保存下来,便于网络传输、跨进程传输和将对象持久化到存储设备上。 我们需要通过反序列化将字节流打开并重构对象。 静态(static)类型的数据不能序列化,因为静态类型的数据存储在内存的静态区,我们只能将堆内存里的数据序列化。 序列化的实现是 : 实现Serializable接口和Parcelable接口Kotlin 实现 Parcelabl原创 2021-04-01 16:19:41 · 306 阅读 · 0 评论 -
Kotlin与java实现数据类和单例类的区别
数据类java:重写equal()、hashCode()、toString()方法加以区分Kotlin:data关键字data class Cellphone (val brand :String,val price : Double)Kotlin会根据主构造函数中的参数 equal()、hashCode()、toString()单例类java:public class Singleton{ private static Singleton instance; private S原创 2021-02-28 20:45:18 · 141 阅读 · 0 评论