- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 手写签名SignatureView实现
Log.e(TAG, "触摸lastTouchX " + lastTouchX);Log.e(TAG, "触摸lastTouchX " + lastTouchY);//获取签名bitmap(透明),类似签名,图片叠在内容上不会挡住签名图片下的内容。* @param paintColor 画笔颜色。// 第二步:在空Bitmap上绘制Path。// 如果存在非白边界,裁剪Bitmap。// 第一步:创建空Bitmap。// 第三步:找到非白色边界。// 扫描像素信息找到边界。//设置签名笔画样式。
2025-02-27 11:22:13
623
原创 RecyclerView通用封装类
注意:convert(BaseCommonAdapter.Helper helper, T item);* RecyclerView的通用Adapter,需重写convert(Helper helper, T item)方法。* @param helper 自定义的ViewHolder对象,可以getView获取控件。* @param itemLayoutId 布局的layout的Id。* @param item 对应的数据。* 将单个数据添加到列表中。* 设置列表中的数据。* 设置长按点击事件。
2024-10-29 14:57:22
740
原创 从相机视频流onPreviewFrame保存图片
Log.e(TAG, "旋转后图片 bitmap= " + rotateBitmap.getByteCount());Log.e(TAG, "保存图片 bitmap= " + bitmap.getByteCount());// 3. 将Bitmap压缩为PNG格式并写入文件。//将原始图片按照旋转矩阵进行旋转,并得到新的图片。// 4. 回收Bitmap资源。// 2. 保存Bitmap到文件。//根据旋转角度,生成旋转矩阵。根据需求进行图片旋转获取到新的图片。
2024-04-28 17:13:30
442
原创 从assets读取json文件
public static JSONObject loadJsonFromAsset(Context context, String fileName) { JSONObject jsonObject = null; AssetManager manager = context.getAssets(); try (InputStream is = manager.open(fileName)) { int size = is.available();
2024-03-28 15:45:11
407
原创 日志存储本地文件
public static final String logFileName = "market.txt";//日志名称public static final String logFilePathFolder = Environment.getExternalStorageDirectory() + File.separator + "tdr_market_log" + File.separator;//日志上传public class LogFileUtil { private sta
2023-05-17 09:39:10
181
原创 创建二维码图片展示
** 4.创建Bitmap对象,根据像素数组设置Bitmap每个像素点的颜色值,之后返回Bitmap对象 */* @param margin 空白边距 (可修改,要求:整型且>=0), 传null时,zxing源码默认使用"4"。/** 3.创建像素数组,并根据BitMatrix(位矩阵)对象为数组元素赋颜色值 *//** 2.设置二维码相关配置,生成BitMatrix(位矩阵)对象 */* @param width 位图宽度,要求>=0(单位:px)* @param width 位图宽度(单位:px)
2023-05-16 15:57:27
236
原创 设置倒计时
Log.e("tag","进入待机指导页面倒计时"+millisUntilFinished);* 参数 millisInFuture 倒计时总时间(如60S,120s等)* 参数 countDownInterval 渐变时间(每次倒计1s)// 计时完毕时触发。
2023-05-16 15:48:58
133
原创 开机自启动app
非常重要,如果缺少的话,程序将在启动时报错。LogUtil.e("StartReceiver","-------开机自启动------");//此处及是重启的之后,打开我们app的方法。//自启动APP(Activity)//自启动服务(Service)
2023-05-16 15:45:27
142
原创 线程池使用
单一线程线程池,一般用于单一的,线性顺序执行任务。* 可用于 一次性、大数量、高频等异步任务处理。* 无核心线程,最大数量工作线程,存活时间短。* 指定数量的核心线程和工作线程 3秒存活时间。* 线程池代理,根据不同需求返回不同类型线程池。* exp: 单一流水线顺序处理产品。* 可用于一般异步任务处理。* 可自行根据需求扩展。
2023-05-16 15:29:18
57
原创 下载文本(.word)、表格(.xlsx)等存储在本地,再用office 或者wps打开
/给目标文件临时授权,必需添加。//以字节流的形式拿回响应实体内容。//解决FileUriExposedException。//如果无法直接打开,就跳出软件列表给用户选择。/* 依扩展名的类型决定MimeType */// 获取所有已安装程序的包信息。/* 取得扩展名 */
2023-05-16 15:09:59
132
原创 设置富文本部分点击事件
String content = "如您想开启或关闭相关权限,您可在手机设置--权限管理-智慧安全运营中更改状态(各厂商机型设置路径可能存在不一致,您可参考厂商设置说明)。*效果:《个人信息保护政策》为蓝色,且可点击事件。详细隐私政策,您可参考:《个人信息保护政策》";
2023-05-16 14:57:15
701
原创 Android 8.0 window透明和固定方向无法共存问题
/解决Android 8.0 window透明和固定方向无法共存问题(旋转时发生崩溃问题):方案:优先透明,若windows透明,则不可固定页面方向,且不可设置。//修改屏幕方向为SCREEN_ORIENTATION_UNSPECIFIED。//windows为透明时,Android 8.0忽略设置方向。//清单文件里面不配置方向。界面Activity中。
2023-04-06 10:22:58
256
原创 解压zip
/*** unZipfileName 需要解压的zip的路径+名称 * mDestPath 解压后存放的路径* 文件名不能有中文***/public static void unZip2(String unZipfileName, String mDestPath) { if (!mDestPath.endsWith("/")) { mDestPath = mDestPath + "/"; .
2022-04-22 17:57:23
102
原创 内存泄漏检测工具
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar','.aar']) implementation 'androidx.appcompat:appcompat:1.0.0' testImplementation 'junit:junit:4.12' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'.
2021-09-24 11:24:01
100
原创 定时关机pad
public class PowerUtil { private static final SimpleDateFormat FORMAT = new SimpleDateFormat("HHmm"); //调用执行方法 public static void setShutDownAt(String timeValue, Context context) { Calendar settingCalendar = Calendar.getInstance(); .
2021-05-24 23:23:03
88
1
原创 Android 调用系统分享功能实现分享
// data 为Base64的图片格式private void shareReportToWX(String data){ if(data!= null){ try { /**data 为纯Base64的图片格式 * byte[] imageByte = Base64.decode(data,Base64.DEFAULT); */ // 我自己的项目带有其他数据,截取"," 后...
2021-02-19 17:15:05
1045
原创 界面添加水印(多行)
public class WaterMarkBg extends Drawable { private Paint paint = new Paint(); private List<String> labels; private Context context; private int degress;//角度 private int fontSize;//字体大小 单位sp /** * 初始化构造 * @param c.
2021-01-07 17:04:04
359
原创 界面添加平铺水印(单行文字)
public class Watermark { /** * 水印文本 */ private String mText; /** * 字体颜色,十六进制形式,例如:0xAEAEAEAE */ private int mTextColor; /** * 字体大小,单位为sp */ private float mTextSize; /** * 旋转角度 */ pri.
2021-01-07 16:52:39
441
3
原创 okHttp3封装
public class OkHttp3Util { /** * 懒汉 安全 加同步 * 私有的静态成员变量 只声明不创建 * 私有的构造方法 * 提供返回实例的静态方法 */ private static OkHttpClient okHttpClient = null; private OkHttp3Util() { } public static OkHttpClient getInstance() { .
2020-12-10 11:54:11
582
原创 软键盘隐藏
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); /** * 隐藏软键盘 */ private void hideKeyboard() { if (getWindow().getAttri...
2020-12-10 09:50:41
58
原创 自定义对话确定框
自定义对话确定框 private void confirmInfo() { // 创建对话框构建器 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setCancelable(false); // 获取布局 View...
2020-12-10 09:50:14
63
原创 推送(通知栏显示)
发现8.0以上系统有一个消息通道的概念,在需要发布消息通知之前必须需要一个消息通道。接下来创建消息通道private NotificationManager notificationManager; private Notification notification; private static final String CHANNEL_ID="channel_id"; ...
2020-12-10 09:49:41
149
转载 Android 开发中关于底部导航栏遮挡布局控件的解决方法
/** * 判断是否存在NavigationBar * @param context:上下文环境 * @return:返回是否存在(true/false) */ public boolean checkDeviceHasNavigationBar(Context context) { boolean hasNavigationBar...
2019-03-01 17:36:34
3359
原创 分享链接到微信(含图片、标题)
访问服务器的图片然后分享:先压缩图片保存在本地,在从本地拿图片分享出去,由于微信分享的图片要求在32k一下,所以要转换成缩略图//直接访问网络图片的urlString titleUrl = "www.baidu.com";//标题urlString smallProductUrl = "www.baidu.com";//图片urlGlide.get(EnterGroupActivi...
2018-12-04 17:43:22
1292
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人