- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 supportFragmentManager管理Fragment界面缓存问题
这个方法就是用来显示View之前保存的状态的,且这个方法运行在onActivityCreated方法之后,onStart方法之前,在这个方法里面做更新View的操作是可以生效的,而且,按home键又重新打开应用时是不会调用这个方法的,这样一来只要把更新界面的代码写在这个方法里,就可以解决页面缓存的问题了。在不退出APP的情况下,如果把对界面的修改语句写在onStart或onResume方法中, 每次息屏再重新打开应用时都会重新加载onStart和onResume方法, 导致界面缓存成上次关闭的时候样式。..
2022-08-16 15:56:21
796
原创 Android获取弹框的高度
使用popupwindow设置宽高为WRAP_CONTENT的获取到的宽高值为-2.因为监听器实时监听布局的状态的,所以要在监听完布局的变化后取消掉布局监听效果。这种情况下要获取宽高的值可以通过添加布局监听器来实现。...
2022-08-11 13:18:20
1101
原创 Android 11 微信登录MyApplication.mWxApi.isWXAppInstalled()返回false
MyApplication.mWxApi.isWXAppInstalled()一直返回false。在Android.manifest.xml中添加(需要卸载application标签外面)--处理android11验证微信是否安装一直返回false问题-->
2022-08-02 13:17:48
1056
原创 通过viewpager2加载百度地图导致其他Fragment黑屏
百度地图切换界面出现黑屏原因是地图退出释放内存时渲染出现bug导致、因为是百度地图本身内部bug、所以我们无法从本质上去修复这个bug。把mapview改成TextureMapView可以解决
2022-03-29 17:34:58
265
原创 Android 自定义扩散圆
package com.example.cloud;import android.content.Context;import android.content.res.Resources;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.
2022-03-01 10:48:23
400
原创 BaseQuickAdapter 条目复用问题
1.重写getItemViewType()方法override fun getItemViewType(position: Int): Int { return position}如果添加header或者footer;会报角标越界在自己Bean里写个boolean字段用于记录勾选状态,val cb=helper.getView<CheckBox>(R.id.cb_case);cb.setOnCheckedChangeListener(null)cb.isCheck
2022-02-24 13:32:30
2727
原创 Android蓝牙开发
在androidManifest里面添加<uses-permission android:name = "android.permission.BLUETOOTH"/><!--启用应用启动设备发现或者操作蓝牙设备的超级管理员--><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/><uses-permission android:name="android.permiss
2021-11-04 13:29:16
1518
原创 Android 线程池
线程池的优点①重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销;②能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的堵塞的现象;③能够有效对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能;线程池的流程线程池分为四个①FixedThreadPool线程数量固定的线程池,当线程处于空闲状态时,它们并不会被回收,除非线程池被关闭了。从参数我们可以看出,FixedThreadPool只有核心线程并且核心线程没有超时机制,另外任务队列.
2021-11-02 11:37:21
1099
原创 MMKV的封装
导入api "com.tencent:mmkv-static:1.2.1"在application里面初始化 MMKV.initialize(this)object KvUtils { var mv: MMKV? = null init { mv=MMKV.defaultMMKV() } /** * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法 * * @param key
2021-10-18 16:19:17
953
原创 组件化开发和ARouter集成
组件化开发Android项目中代码量达到一定程度,编译将是一件非常痛苦的事情,短则一两分钟,长则达到五六分钟。Android studio推出instant run由于各种缺陷一般情况下是被关闭的……组件化开发可以有效降低代码模块的耦合度,使代码架构更加清晰,同时模块化的编译可以有效减少编译时间,当然总的编译时间是不会减少的,只是App模块化之后开发某个模块时,只需要编译特定模块,可以快速编译调试。组件化分为一个APP,一个library和多个moudlerLibrary里面放着第三方库,ap
2021-10-18 13:29:58
891
原创 Kotlin自动找id
1.在工程的build的目录下添加//自动寻找ID classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"2.在app的build下添加id 'kotlin-android-extensions'//启用扩展支持直接使用ID
2021-10-08 13:29:31
415
原创 图片保存到sd卡上,删除sd卡上的图片
public String saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片 File appDir = new File(Environment.getExternalStorageDirectory(), "saveImage"); if (!appDir.exists()) { appDir.mkdir(); } S...
2021-08-04 10:48:31
322
原创 JNI打包出现两个apk
JNI打包出现app-universal-debug app-armeabi-debug 后把app的build里面的// splits {// abi {// enable true// reset()// include 'armeabi'// universalApk true// }// }注释掉就好了...
2021-08-03 10:38:08
168
原创 Android studio 4.3调试jni
在AndroidStudio4中已内嵌了LLDB,不需要单独下载。从网上找到的资料都不是针对AndroidStudio4的,如何让项目可以调试JNI中C/C++代码这个问题纠结了我好几天,最后一边不停的谷歌,一边自己瞎捣鼓,竟然把这个问题给解决了,故在此做了记录,以免以后又忘却了。下面就直奔主题,介绍配置方法:1. 将项目导入AndroidStudio中(具体导入方法这里不再介绍,请自行百度)提示NDK未安装,依次点击[File]->[Settings...]->[Appearanc
2021-07-12 16:13:21
988
原创 Android 优雅处理重复点击
一般手机上的 Android App,主要的交互方式是点击。用户在点击后,App 可能做出在页面内更新 UI、新开一个页面或者发起网络请求等操作。Android 系统本身没有对重复点击做处理,如果用户在短时间内多次点击,则可能出现新开多个页面或者重复发起网络请求等问题。因此,需要对重复点击有影响的地方,增加处理重复点击的代码。之前的处理方式之前在项目中使用的是 RxJava 的方案,利用第三方库 RxBinding 实现了防止重复点击:funView.onSingleClick(interv.
2021-07-01 09:20:36
635
原创 开屏LOGO动画
package com.app.wisdom;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import android.animation.ValueAnimator;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;im.
2021-05-08 09:43:10
274
原创 自定义View,一个小圆绕着一个大圆动
package com.example.myapplication;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;impor.
2021-03-02 17:27:06
281
原创 popupwindow淡入淡出
1.在res目录下新建anim文件夹用来存放动画相关的xml文件。2.新建xml文件(push_bottom_in.xml,push_bottom_out.xml),写入实现淡入淡出效果的代码:<?xml version="1.0" encoding="utf-8"?><!-- 淡入 --><set xmlns:android="http://schemas.android.com/apk/res/android" > <...
2021-02-19 11:44:10
264
原创 Android10 onNewIntent调用时机变化
当前Activity 执行了onStop 处于后台, 再次调用这个Activity 执行如下:Android 10onRestart -> onStart -> onNewIntent -> onResumeAndroid 9,8,7onNewIntent -> onRestart -> onStart -> onResume
2021-01-26 14:41:50
213
原创 Android应用桌面角标红点的实现
Android系统下如何支持应用桌面角标(BadgeNumber)的显示iOS系统下的应用桌面角标其实本来Android原生系统是不支持应用桌面角标(BadgeNumber)显示的。我们目前看到的能支持应用桌面角标显示的Android系统,都是第三方厂商自己定制的。通过实现一套自己的launcher并且提供外部接口给第三方应用来调用即可。我们公司的APP里涉及到IM的功能。所以经常会有用户向客服反馈,为什么某Q、某信都支持应用桌面角标的显示,但你们的APP却不行......本着..
2021-01-19 18:00:38
4321
1
原创 【Android】组件化开发的简单应用
组件化开发的主要步骤:一、新建Modules1、新建Project,作为应用的主Module。2、新建Module:"Common",类型选择"Android Library",作为所有其它Module的基础依赖库。3、新建Module:"Home",类型选择"Android Library",依赖"Common"。4、新建Module:"Project",类型选择"Android Library",依赖"Common"。5、新建Module:"User",类型选择"Android
2021-01-14 10:22:04
223
转载 最新最全Android 常用开源库总结
最新最全Android 常用开源库总结收集了一些比较常见的开源库,大家有关于Android 优秀的开源库,也可以在下面留言。一 、基本控件TextView HTextView 一款支持TextView文字动画效果的Android组件库。 ScrollNumber 滚动数字控件 ticker 滚动数字控件 ReadMoreTextView 阅读更多,折叠文本 ExpandableTextView 折叠文本 android-autofittex
2020-11-09 17:18:28
115
原创 阴影效果控件ShadowLayout,可实现圆角、阴影、点击水波纹效果
implementation 'com.github.lihangleo2:ShadowLayout:3.1.1'<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr..
2020-11-09 17:12:44
769
原创 单选,改变背景颜色
package cn.parteam.pd.newEvent.Adapter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.L...
2020-07-27 09:54:44
121
原创 recyclerview Item之间的间距
//线性public class SpacesItemDecoration extends RecyclerView.ItemDecoration { private int space; public SpacesItemDecoration(int space) { this.space = space; } @Override ...
2020-07-27 09:54:33
87
原创 Android——EditText金额输入控制位数(小数点前几位,小数点后几位)
public class EditTextJudgeNumberWatcher implements TextWatcher { private EditText editText; public EditTextJudgeNumberWatcher(EditText editText) { this.editText = editText; } ...
2020-07-27 09:54:19
122
原创 三种Android图片压缩方法 压缩到指定大小
一、图片质量压缩/** * 质量压缩方法 * @param image * @return */public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.Compr...
2020-07-27 09:54:07
738
原创 sourcetree跳过注册的方法
当前只有Win的版本,Mac自行百度(笑)很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作注册。废话不多,我们直接开始跳过注册阶段的操作。下载好之后会有这么一个界面要求你注册或登录。(不管它)将下面的一串串放进我的电脑的地址栏,打开sourcetree的文件夹%Loc...
2020-07-27 09:53:56
106
原创 android 6.0 7.0 8.0 9.0新特性
6.0新特性运行时权限此版本引入了一种新的权限模式,如今,用户可直接在运行时管理应用权限。取消支持 Apache HTTP 客户端Android 6.0 版移除了对 Apache HTTP 客户端的支持。如果您的应用使用该客户端,并以 Android 2.3(API 级别 9)或更高版本为目标平台,请改用 HttpURLConnection 类。此 API 效率更高,因为它可以通过...
2020-07-27 09:53:42
217
原创 APK 更新
private void toDownload(Context context) { if (TextUtils.isEmpty(_newVerUrl)) return; Download.getInstance().addTask(String.valueOf(_newVerUrl.hashCode()), CacheManager.getCachePath(context, ...
2020-07-27 09:53:28
132
原创 【Android】【动画】带帧动画的Selector
普通selector只能在两种状态图片之间切换,animated-selector允许通过帧动画从一个状态切换到另一个状态XML代码:<?xml version="1.0" encoding="utf-8"?><animated-selector xmlns:android="http://schemas.android.com/apk/res/android">...
2020-07-27 09:53:15
140
原创 apk加固
jarsigner -digestalg SHA1 -sigalg SHA1withRSA -verbose -keystore smprt.jks -signedjar aliyun.apk ali.apk smprt
2020-07-27 09:53:00
135
原创 Android手势解锁, 九宫格解锁
给大家介绍一个很好用的手势解锁控件ShapleLocker, 废话不多先上效果图:这是一个第三方库, 可自己根据UI需求替换图标: 圆圈, 小箭头等等..github地址:http://panespanes.github.io/ShapeLocker/用法很简单, 首先在gradle中添加依赖:在项目(project, 不是module)的build.gradle中,...
2020-07-27 09:52:25
97
原创 Android Shape资源文件gradient颜色渐变方向
常常会忘记angle方向,所以特此记录一下。当angle为0时,颜色渐变方向是从左往右;当angle为90时,颜色渐变方向是从下往上;当angle为180时,颜色渐变方向是从右往左;当angle为270时,颜色渐变方向是从上往下;<gradient android:angle="270" android:endColor="@color/gray_...
2020-07-27 09:51:12
324
原创 Glide加载圆形图片
下载的图片转圆形的方法public class GlideCircleTransform extends BitmapTransformation { public GlideCircleTransform(Context context) { super(context); } @Override protected Bitmap transform...
2020-07-27 09:50:59
86
原创 标签搜索栏
package com.example.admin.myapplication;/** * Created by admin on 2019/6/4. */class Evaluate { private String name; private String id; private boolean check; public boolean isC...
2020-07-27 09:50:38
357
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人