随笔分类 - Android
摘要:class DraggableFrameLayout @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, ) : FrameLayout(context, attrs) { enum class Drag
阅读全文
摘要:
近期项目中用到蓝牙BLE,需要区分设备及显示蓝牙名。对于蓝牙BLE广播,发送字节数超过31会广播失败(原因之一是蓝牙名称太长),再者蓝牙mac地址是动态的无法区分设备。和同事交流后,采用他的项目中的方法。 名称太长问题 广播时,不添加Service UUID,采用2个字节表示服务。 蓝牙名字符长度超
阅读全文
近期项目中用到蓝牙BLE,需要区分设备及显示蓝牙名。对于蓝牙BLE广播,发送字节数超过31会广播失败(原因之一是蓝牙名称太长),再者蓝牙mac地址是动态的无法区分设备。和同事交流后,采用他的项目中的方法。 名称太长问题 广播时,不添加Service UUID,采用2个字节表示服务。 蓝牙名字符长度超
阅读全文
摘要:源码下载 由于AOSP源码由多个项目组成,这篇博客中使用python脚本下载。 import xml.dom.minidom import os from subprocess import call # 1. 修改为源码要保存的路径 rootdir = "D:/projects/AOSP/code
阅读全文
摘要:singletone private $className$() { } private static class SingletonHolder { private static final $className$ INSTANCE = new $className$(); } public st
阅读全文
摘要:菜单位置 配置 Generate JavaDoc Scope(生成文档的作用范围),可根据自己需求自行配置。 导包 若报错找不到android的某些包,可添加如下依赖(可能是由于JavaDoc没有导入AndroidSdk,所以没找到)。 compileOnly(files("${android.sd
阅读全文
摘要:adb doc 权限 adb shell pm grant PACKAGE_NAME android.permission.POST_NOTIFICATIONS adb shell pm set-permission-flags PACKAGE_NAME \ android.permission.P
阅读全文
摘要:投屏,就是将一台设备上的媒体内容,通过一定的技术方案,在另外一台设备上显示。其中这个一定的技术方案,主要分为两种: 推送模式:主要用于投屏音视频。投屏之后手机可以关闭,电视(接收端)不会停止播放。核心原理就是通过指定协议,类似于蓝牙那样搜索匹配,并将音视频的播放地址传输过去,然后接收端播放这个地址的
阅读全文
摘要:AOSP 下载教程 目录 Settings: /packages/apps/Settings SystemUI: /frameworks/base/packages/SystemUI WifiSettings /packages/apps/Settings/src/com/android/setti
阅读全文
摘要:JavaVM 和 JNIEnv JNI 定义了两个关键数据结构,即“JavaVM”和“JNIEnv”。两者本质上都是指向函数表的二级指针。(在 C++ 版本中,它们是一些类,这些类具有指向函数表的指针,并具有每个通过该函数表间接调用的 JNI 函数的成员函数。)JavaVM 提供“调用接口”函数,您
阅读全文
摘要:public static void applyGrayMode(Window window) { if (window == null) { return; } Paint paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix
阅读全文
摘要:所谓头条屏幕方案就是修改了DisplayMetrics类,让设备的dp宽强行按设计稿来,所以DisplayMetrics获取的一些参数都是缩放过的,并不是真实的。在一些情况下会出现两次获取结果不一样,就产生了bug。由于项目已经用了这种方案(个人不太倾向使用),所以解决这个问题。目前出现的现象就是第
阅读全文
摘要:说明 本来使用这个项目,但里面有个bug,修复一下,特此记录。 属性 <declare-styleable name="FoldTextView"> <attr name="showMaxLine" format="integer" /> <attr name="tipGravity" format
阅读全文
摘要:起因 由于项目App迭代,一个布局发生了改变。因此产生了一个奇怪的问题,按道理,滑动NestedScrollView的时候,AppBarLayout会上移。这是appbar_scrolling_view_behavior和scroll|enterAlwaysCollapsed使用的常规操作嘛。但是拖
阅读全文
摘要:Android沉浸式状态栏与EditText问题【沉浸式状态栏实现及遇到的坑】 Android WebView加载html文本时,图片太大不能适配屏幕 Android 键盘遮挡editText遮挡登录按钮 Android Studio 无法预览markdown问题 Git SSL certifica
阅读全文
摘要:SelectItemManger## 几年前写的,不咋地。2022/3/26 package com.nevermore.util; /** * Created by Administrator on 2017/3/26. */ import android.util.SparseBooleanAr
阅读全文
摘要:今天在EMUI上获取状态栏高度结果只有6像素,这算是EMUI的bug吧。所以加了个判断来获取状态栏高度。让状态栏至少为25dp。 public static int getStatusBarHeight(@NonNull Context context) { int height = 0; int
阅读全文
摘要:github 源码 昨天看到有人实现了这个ui,但是主要在布局里写的。当然我之前也是在布局里写的,但是貌似见过用ItemDecoration实现的。于是我评论说让他用ItemDecoration试一下,他回复我想多了。好吧,不管想的多不多,我自己试下就知道可行不可行了。当然是可行的,不然我也不会写这
阅读全文
摘要:由于Kotlin没有三目表达式这种写法,一般用if else就可以,但是写起来比较麻烦,于是我便写了个扩展函数,支持Boolean和表达式,感觉还行。如果大家有更好的方案,可以留言。 /** * * @author xunevermore * create on 2021/10/26 18:20 *
阅读全文
摘要:演示效果 思路 RecyclerView外包裹一个FrameLayout,通过adapter创建悬浮的Item,将其覆盖在RecyclerView上面, 再通过监听RecyclerView的滚动,动态改变悬浮item的translationY,实现悬浮。 使用 floatRvItemContaine
阅读全文
摘要:def jarPackage(buildType) { return tasks.create("jar${buildType.capitalize()}Package", Copy) { def aarFile = file(project.buildDir.path + "/outputs/aa
阅读全文

浙公网安备 33010602011771号