安卓笔记
九狼JIULANG
九狼
展开
-
java解压tar.gz文件
java解压tar.gz文件原创 2023-09-13 12:11:09 · 498 阅读 · 0 评论 -
【安卓笔记】view触摸缩放
view触摸缩小,抬起恢复。原创 2022-08-24 13:33:16 · 900 阅读 · 0 评论 -
ViewDataBinding找不到自定义view的类
ViewDataBinding找不到自定义view的类。原因是main文件夹下的java文本我改成了kotlin。文件名kotlin改回java。原创 2022-07-24 17:40:36 · 730 阅读 · 0 评论 -
compose设置状态栏字体颜色
boolean :true 白色字体boolean :flase 黑色字体ViewCompat.getWindowInsetsController(LocalView.current)?.isAppearanceLightStatusBars = boolean原创 2022-01-21 15:51:07 · 1312 阅读 · 0 评论 -
Jetpack Compose自定义view 画月亮
首先利用drawArc函数画扇形月亮由有个圆个一个小圆组成设置大圆心角为120°360-120 = 240 startAngle = 40F, sweepAngle = 240f,偏移40°增强画面感sweepAngle = 240f,获取画布宽高 val canvasWidth = size.width // 画布的宽 val canvasHeight = size.height // 画布的高这样画布的宽除2就是大圆的半径了接着求出小圆的直径,通过直径原创 2022-01-17 17:06:05 · 654 阅读 · 0 评论 -
利用DataBinding优雅的实现,文本选中切换字体背景的颜色效果
在build.gradle里面开启dataBinding buildFeatures { dataBinding true }定义颜色值colors.xml文件里面 <!-- 文本主色调 --> <color name="app_textTheme">@color/white</color> <!-- 文本选中颜色 --> <color name="app_textNormal"&g原创 2022-01-04 22:10:37 · 2620 阅读 · 2 评论 -
Android自动设置状态栏字体颜色
Android6.0以上系统可以把状态栏文字和图标换成深色,但是MIUI、Flyme例外所以我们封装一个根据状态栏颜色来自动设置状态栏字体颜色原创 2021-12-29 16:57:58 · 3135 阅读 · 0 评论 -
Caused by: kotlinx.serialization.SerializationException: Serializer for class ‘PostType‘ is not foun
log java.lang.IllegalArgumentException: Unable to create converter for com.jiulang.wordsfairy.net.NetResult<java.util.ArrayList<com.jiulang.wordsfairy.entity.PostType>> for method PostService.getHomepageClassifyList at retrofit原创 2021-12-27 02:04:50 · 2409 阅读 · 0 评论 -
koin 运行报错
No virtual method elapsedNow-UwyO8pc()D in class Lkotlin/time/TimeMark; or its super classes (declaration of ‘kotlin.time.TimeMark’ appears in /data/app/~~8ToQ39W1Gmvz79om2S69_Q==/xxx.xx.xx-dvGHvg3f2zzmurhXBKmXeA==/base.apk!classes22.dex)解决方法把 androidLo原创 2021-12-26 17:03:35 · 1985 阅读 · 1 评论 -
ActivityResultContracts优雅封装,打开文件管理器
XResultLauncheropen class XResultLauncher<I, O>(caller: ActivityResultCaller, contract: ActivityResultContract<I, O>) { private var launcher: ActivityResultLauncher<I>? = null private var callback: ActivityResultCallback<O>原创 2021-10-06 13:36:35 · 774 阅读 · 0 评论 -
AppBarLayout自定义阴影
setTargetElevation()方法已经弃用,推荐使用StateListAnimator,不过要注意Api>=21才能使用res文件夹下新建一个animator资源文件夹,然后在这里用xml文件定义我们需要的StateListAnimator,在里面创建一个appbar_elevation.xml文件appbar_elevation.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android=".原创 2021-10-02 22:23:00 · 320 阅读 · 0 评论 -
解决折叠状态栏+viewPager2嵌套带有下拉刷新的RecyclerView滑动冲突
CoordinatorLayout+AppBarLayout+viewPager2+fragment+下拉刷新的RecyclerView下滑上滑当手指下滑的时候,因为AppBarLayout还没有折叠,滑动事件会被PtrFrameLayout消费,但上滑是如果AppBarLayout还没有折叠,滑动事件也会被PtrFrameLayout消费但和AppBarLayout.Behavior的滑动产生冲突,会发生滑动抖动,网上说重写AppBarLayout.Behavior可以解决,或者重写PtrFra原创 2021-09-26 20:26:30 · 1271 阅读 · 0 评论 -
【安卓笔记】解决ViewPager2嵌套RecyclerView,上下滑动冲突
当ViewPager2嵌套RecyclerView上下滑动的事件会被RecyclerView分发下去到ViewPager2,所以会造成卡顿。所以重写RecyclerView的dispatchTouchEvent函数,拦截上下滑动事件就可以了Java代码 // 用于标记滑动的坐标 private int downX= 0; private int downY= 0; @Override public boolean dispatchTouchEvent(MotionEve原创 2021-09-14 11:27:34 · 3434 阅读 · 3 评论 -
【安卓笔记】android申请储存权限,读写文件
首先在AndroidManifest.xml中注册读取USB存储设备中的内容 <!-- 读取您的USB存储设备中的内容 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <!-- 修改或删除您的USB存储设备中的内容 --> <uses-permission android:name="android.permission.W原创 2021-08-28 15:18:34 · 4316 阅读 · 0 评论 -
【安卓笔记】打开系统文件管理器,选择文件
java打开系统文件过管理器class ResultContract extends ActivityResultContract<Boolean, Intent> { @NonNull @Override public Intent createIntent(@NonNull Context context, Boolean input) { Intent intent = new Intent();原创 2021-08-04 11:57:27 · 622 阅读 · 0 评论 -
【安卓笔记】上传文件到服务器
java private String uploadFile(String uploadUrl, String filename) { String end = "\r\n"; String twoHyphens = "--"; String boundary = "******"; try { URL url = new URL(uploadUrl); HttpURLConnection原创 2021-08-04 11:40:01 · 89 阅读 · 0 评论