![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
lplj717
这个作者很懒,什么都没留下…
展开
-
Android自定义电池电量显示组件(kotlin,java)
Android自定义电池电量显示组件(kotlin,java)原创 2022-09-15 15:42:41 · 2327 阅读 · 1 评论 -
Android中FrameLayout的底部布局被软键盘顶上来问题
Android中FrameLayout的底部布局被软键盘顶上来问题原创 2022-09-02 11:37:46 · 1187 阅读 · 0 评论 -
kotlin位运算的坑(bytes[i] and 0xff 报错)
bytes[i] and 0xff 报错原创 2022-06-02 10:31:53 · 1042 阅读 · 2 评论 -
android.os.FileUriExposedException:exposed beyond app through ClipData.Item.getUri()
最近调用系统相机拍摄图片的功能,一开始是直接调用相机拍摄但是图片返回的是缩略图,所以非常模糊,于是就传入图片保存路径进行高清图保存,拍摄成功之后就直接加载保存的地址就可以拿到高清图片,先看看代码 //存储路径 val fileName = File(getOutDirectory(this@RecordActivity), "${System.currentTimeMillis()}.jpg") val intent = Inten原创 2022-02-08 09:34:23 · 3001 阅读 · 1 评论 -
android调用系统相机返回图片模糊
最近需要用到调用系统相机拍摄照片的功能,于是就直接调用系统的相机进行拍照,发现返回的bitmap存储之后都是非常模糊的调用系统相机拍摄照片,由于StartActivityForResult过时,改用了新写法 val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) val startActivity = registerForActivityResult(ActivityResultContrac原创 2022-02-07 18:02:20 · 2321 阅读 · 2 评论 -
startActivityForResult方法过时
使用代码调用系统相机进行拍摄照片发现调用startActivityForResult方法过时查看竟然被标志为Deprecated于是带着好奇心去研究一番,既然这个过时了,那要怎么使用原本的startActivityForResult的功能?需要注册一个ForActivityResult: val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) val startActivity =原创 2022-02-07 17:12:08 · 10056 阅读 · 4 评论 -
解决Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.20问题
下载了别人的一个项目,项目编译完成没有出错,运行时出现如下错误Execution failed for task ':app:checkDebugAarMetadata'.> Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.20. Searched原创 2021-09-15 10:39:36 · 6297 阅读 · 0 评论 -
RecyclerView拖动后adapter数据与UI数据不一致问题(数据错乱)
首先是在RecyclerView的基础上增加了拖动滑动的功能,直接按照官方文档写完如下 ItemTouchHelper(object : ItemTouchHelper.Callback() { override fun getMovementFlags( recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, ):原创 2021-07-28 17:59:29 · 734 阅读 · 0 评论 -
kotlin Android动态设置密码框显示或隐藏密码
隐藏密码:显示为“******”passwordET.transformationMethod = PasswordTransformationMethod.getInstance()显示密码:显示为“123456”passwordET.transformationMethod = HideReturnsTransformationMethod.getInstance()原创 2021-07-01 11:17:11 · 493 阅读 · 0 评论 -
在kotlin中添加Intent的flags(清除任务栈中的所有activity)
android中java版本Intent intent = new Intent(this, LoginActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);android中kotlin版本var intent = Intent(this, LoginActivity::class.java)intent.flags原创 2021-06-30 10:36:10 · 1024 阅读 · 0 评论 -
MultiTypeAdapter+DataBinding简单使用(kotlin)
根据项目需要,项目集成了MultiTypeAdapter,因为原本项目就使用了DataBinding所以在MultiTypeAdapter中也使用,不想findviewbyId了,这里简单进行封装一下,kotlin初级键盘侠手下留情,当然这只是个人的使用笔记而已,如果能帮助到别人那就更好首先添加依赖: implementation 'com.drakeet.multitype:multitype:4.3.0'来看看使用,这里是在Fragment中使用,当然在Activity中也是没啥区别的.原创 2021-06-25 14:41:20 · 502 阅读 · 0 评论 -
kotlin的Viewpage2+Fragment的简单使用(setUserVisibleHint方法过时)
因为setUserVisibleHint方法过时,本文采用Viewpage2进行搭建一个超级简单的demo,记录一下使用笔记,项目框架采用MVVM模式,以及DataBinding,所有控件都是通过DataBinding获取首先看一下布局文件 <androidx.viewpager2.widget.ViewPager2 android:id="@+id/viewPage" android:layout_width="match原创 2021-06-22 09:13:42 · 2688 阅读 · 0 评论 -
kotlin插件神器Json直接生成javaBean Kotlin Data Class
1,Android studio ->File -> Settings ->Plugins ->Browse repositores -> 搜索JsonToKotlin2,重启 android studio 或 Intellij idea3.在新建的类中按下快捷键 ‘ALT’ + ‘Insert’,选择并点击Convert Json Into Kotlin Class,快捷键失效的情况下右击选择generate弹窗如下图:4.点击选项Convert Js原创 2021-04-08 11:38:56 · 2097 阅读 · 0 评论 -
Kotlin泛型(七)
/** * 可以用inline关键字修饰函数,同时用reified关键字修饰泛型类型,这样就可以保留泛型参数的具体类型 */class Box<T>(t: T) { var value = t}/** * Kotlin 泛型函数的声明与 Java 相同,类型参数要放在函数名的前面 */fun <T> doPrintln(content: T) { when (content) { is Int -> println("整型数字.原创 2020-12-22 18:26:35 · 121 阅读 · 0 评论 -
Kotlin数据类和密封类(六)
/** * 编译器会自动从主构造函数中根据所有声明的属性提取一下函数: * equals() / hashCode() * toString() 格式如 "MUser(name=John, age=42)" * componentN() functions 对应于属性,按声明顺序排列 * copy() 函数 * 如果这些函数在类中已经被明确定义了,或者从超类中继承而来,就不会再生成 * 为了保证生成代码的一致性以及有意义,数据类需要满足一下条件: *.原创 2020-12-22 18:25:04 · 85 阅读 · 0 评论 -
Kotlin扩展(五)
class User(var name: String) { fun test() = println("User的test方法")}/** * 方法扩展 * 可以对类的属性和方法进行扩展,且不需要继承或使用Decorator模式 * 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响 * kotlin扩展属性、方法时看起来是胃该类动态添加了成员,实际上并没有真正修改这个被扩展的类 * kotlin实际上定义了一个函数,当被扩展的类的对象调用扩展方法时,kotlin会执行静态解.原创 2020-12-22 18:23:45 · 87 阅读 · 0 评论 -
Kotlin继承及接口(四)
/** * 使用open修饰的类表示可以被继承(默认是final) * 修饰的方法表示可以被重写 */open class Person(var name: String, var age: Int) { open fun study() {//允许子类重写 println("毕业了") }}/** * 如果子类有主构造函数,则基类必须在主构造函数中立即初始化 */class Student(name: String, age: Int, var no:.原创 2020-12-22 18:21:50 · 263 阅读 · 0 评论 -
Kotlin类和对象(三)
/** * 类名,主构造函数 * 一个类可以有一个主构造器,以及一或多个词构造器 * 主构造器位于类名之后 */class Person1 constructor(firsetName: String) { //如果主构造器没有任何注解,也没有任何可见度修饰,constructor可以省略 //默认主构造函数是public,可以修改为class Person1 private constructor{} 私有空构造器 //初始化代码使用init关键字作为前缀 i.原创 2020-12-22 18:20:29 · 159 阅读 · 0 评论 -
Kotlin条件表达式(二)
/** * 条件表达式 if * */fun ifTest() { var a = 1 var b = 2 var max = a //传统用法 if (a < b) max = b //使用else max = if (a > b) { println("a is max") a } else { println("b is max") b } .原创 2020-12-22 18:16:41 · 200 阅读 · 0 评论 -
Kotlin基础语法(一)
//单行注释/*多行注释,注释可以嵌套//嵌套 *//** * var声明变量 * val声明常量(不可变,java中的final) * var/val 变量名:类型 = 初始值 */var bianl: Int = 123//变量val bianll: String = "string"//常量//基本数据类型:Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8//字符:Char 必须用单引号'包含起来var .原创 2020-12-22 18:13:20 · 127 阅读 · 0 评论