自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flutter Android沉浸式状态栏

Flutter Android沉浸式状态栏class Global{ static Future init(VoidCallback callback) async{ WidgetsFlutterBinding.ensureInitialized(); callback(); if(Platform.isAndroid){ SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(statusB

2020-05-20 17:35:33 489

原创 迁移Androidx后低版本Android出现的CheckBox样式问题

迁移Androidx后,低版本的CheckBox的button属性出现显示异常的问题,解决方案:styles中定义 <style name="NoButtonCheckBox" parent="Widget.AppCompat.CompoundButton.CheckBox"> <item name="android:background">@null&...

2020-03-17 17:24:38 506

原创 自定义RecyclerView的scrollbar

需求确定![UI给的设计图](https://img-blog.csdnimg.cn/20191111171156529.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NDg3NDMy,size_16,color_FFFFF...

2019-11-11 17:34:19 1779 1

原创 Android刷新框架和刷新动画

需求确定日常开发中,页面刷新是一个非常常见的功能,各种优秀的框架也是非常多,功能也是大同小异,于是刷新过程中的动画就成了差异化的最好实现方式。所以,现在需要在刷新框架的基础上重新定义应用专属的动画。实现思路很难说每一个三方的刷新框架都有开放自定义加载动画的功能,自己写的又鉴于个人能力和精力上面的不足,很难尽善尽美,但是就目前我个人一直使用的SmartRefreshLayout来说,是可以的。...

2019-08-05 15:28:06 856

原创 正则表达式的修饰符

修饰符描述re.I使匹配对大小写不敏感re.L做本地化识别匹配re.M多行匹配,影响^ $re.S使.匹配包括换行在内的所有字符re.U根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\Bre.X该标志通过给与你更灵活的格式以便你将正则表达式写的更易于理解...

2019-07-26 17:11:22 207

原创 Android注解

注解基础@Retention(RetentionPllicy.CLASS/RUNTIME/SOURCE)推荐使用模式为SOURCE:单纯阅读使用(该注解仅仅是声明,只会在源代码中留存,编译时会被删除,无法在编译期间和运行时通过反射获取)CLASS:单纯编译时使用(该注解会在.class字节码中,但是不需要由虚拟机在运行时保留)RUNTIME:运行时需要反射使用(注解会被保留到运行时,可以...

2019-07-26 11:30:39 468

原创 Python中Str内置方法记录

方法说明string.isspace()如果string中只包含空格,返回Truestring.isalnum()如果string至少有一个字符并且所有字符都是字符或数字返回Truestring.isalpha()如果string至少有一个字符并且所有字符都是字母返回Truestring.isdecimal()如果string只包含数字返回True,全...

2019-07-09 09:23:59 160

原创 记录一个AutoSize的横屏适配出现的显示问题

做项目的时候,出现了一个很奇怪的bug,autosize适配的项目正常使用一切正常,但是在项目横屏页面锁屏之后,重新打开,就会出现适配异常的问题,原本以为是声明周期的问题,修改之后还是不行,一步步往下追查后发现,锁屏前的宽度和锁屏后的宽度不一致。分析 一下原因,横屏页面锁屏后是有一个短暂的竖屏然后自己旋转的,那么autosize这个框架拿到的就是竖屏时候的宽高,那肯定出现适配问题啊,所以需要我们...

2019-07-08 09:41:50 3978

原创 Android保持页面不锁屏常亮的方法

方法一:Window设置flaggetWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);官方推荐使用。方法二:界面顶层添加属性android:keepScreenOn="true"方法三:WakeLock权限清单文件中新增权限<uses-permission android:name="and...

2019-07-03 15:22:43 1141

原创 Python格式化字符记录

%s 字符串%d 有符号十进制整数,%06d表示输出的整数显示位数,不足的地方用0补全%f 浮点数,%.2f 表示小数点后两位%% 输出%# 使用例子print("格式化字符串 %s " % 变量)print("格式化字符串%s%s..." % (变量1,变量2...))...

2019-07-03 11:34:37 95

原创 记录一个动态权限的问题

过去很长的一段时间里面,我一直坚持使用UtilCode这个库,里面继承了非常多的开发中常用的方法,省去了自己自行从别的地方捞取以前的代码。 //utils implementation 'com.blankj:utilcode:1.24.2'动态权限我用的也是其中的方法, PermissionUtils.permission(PermissionConstants.MICROPHONE)...

2019-07-01 13:36:30 351

原创 String中的部分变量

开发中常碰见文案基本雷同,但是中间加一些变量的文案,如果不会这些参数的话,就只能后台提供完整显示文案或者自己手抖拼接,非常的不美观,所以这个有必要记录一下。%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小...

2019-06-28 10:15:57 380

原创 Android自定义倒计时用的圆形进度条

大概就是所有困难都是自我脑补和自我畏惧,自定义控件很早之前自己以为非常难,不愿意触碰,但是不接触就是永远不会,写多了就会了,上代码:/** * @Author: WinSinMin * @Email: [email protected] * @CreateDate: 2019/6/26 14:56 * @Description: 自定义环形进度条 */public class...

2019-06-26 16:44:00 1169

原创 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file......

早上导入三方sdk的时候一直报这个错误,查询了一下解决思路是这样的。1.在libs文件夹中放入需要的cpu对应的so库2.然后在app的build.gradle的android项中加入 sourceSets { main { jniLibs.srcDirs = ['libs'] } }3.在defaultConfig项中加入...

2019-06-25 09:30:05 4067

原创 基于BaseQuickAdapter的一个简单多布局范例

public class DemoAdapter extends BaseQuickAdapter<Integer, BaseViewHolder> { public DemoAdapter() { super(null); setMultiTypeDelegate(new MultiTypeDelegate<Integer>() {...

2019-06-14 16:28:15 4357

原创 Android7.0及以上拍照,从相册选取和裁剪功能的实现

Android7.0调用相机时出现的一个错误:android.os.FileUriExposedException: file:///storage/emulated/0/test.jpg exposed beyond app through ClipData.Item.getUri()解决办法:在Application的onCreat()方法中添加以下代码: // android 7.0...

2019-06-14 16:12:49 914

原创 记录Android中的空格

&#160;(普通的英文半角空格但不换行)&#8201;(窄空格:)&#12288;(中文全角空格 (一个中文宽度))&#8194;(半个中文宽度,但两个空格比一个中文略大)&#8195;(一个中文宽度,但用起来会比中文字宽一点点)\u3000\u3000(首行缩进)\u3000(全角空格(中文符号))\u0020(半角空格(英文符号))&a...

2019-06-11 11:51:52 3584

原创 记录一个AndroidStudio网址

https://developer.android.google.cn/studio/

2019-06-10 11:06:19 163

原创 Android对换两个位置思路

翻看老代码的时候发现了一个很奇怪的需求,点击对调两个view的位置,原先的实现思路是放了两个父布局,然后通过addview和removeview来实现更换位置的效果,嗯嗯,换个思路试试。这是一个非常简单的示意图,直接上代码。 DisplayMetrics dm = getResources().getDisplayMetrics(); screenWidth = dm.wid...

2019-06-05 15:12:46 2302

原创 AndroidUtilCode的注释

跳转到Github项目中

2019-06-03 15:39:50 197

原创 Android监听网络状态

突然觉得这是一个非常常用的一个功能,监听手机的网络状态,实时弹出一个弹窗,点击跳转到设置页面,网络正常了就自动隐藏弹窗,嗯,非常合理的一个需求,做!那么首先就是写一个广播咯,毕竟是监听网络情况的: public class NetReceiver extends BroadcastReceiver { @Override public void onReceive(Conte...

2019-05-28 11:47:39 5372

原创 Android_Zip解压相关

Ps:最近一有空就抽时间捞以前一些用过的但是没记录的小技能。 /** * 获取zipfile大小 * @param path * @return */ public static long getZipFileSize(File path) { long size = 0; ZipFile mZipFile = nu...

2019-05-23 17:01:18 142

原创 MVP模式总结

本来一直使用mvc的,也使用了一段时间的mvp,因为接手的项目不大,基本上用mvc就成,但是后面接手的别人的项目,用的mvc,发现整个项目面目全非,有种无从下手的感觉,遂决定抛弃mvc,全都改用mvp,至少给继任者一点小小的帮助!1.首先是一个公用的OnHttpCallBack接口public interface OnRequestCallback<T> { void on...

2019-05-08 10:26:05 161

原创 remote导致的application问题

最近接手的项目偶然间发现的一个bug:application的onCreate执行了两次。。。果断去清单文件里面看一下,果然 <!--百度定位--> <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"/&g...

2019-05-07 15:39:11 434

原创 一个比较完美的单例模式

单例模式基本上是每一个程序员都能随手写的设计模式,牢记两私一公的原则:即私有构造函数,私有静态实例属性,公共的获取实例的静态方法。遵循这个原则写一个, public class Singleton { private static Singleton instance = null; private Singleton() {} public s...

2019-05-07 10:28:56 509

原创 设置RecyclerView使用GridLayoutManager的item占用的表格数

GridLayoutManager manager = new GridLayoutManager(this, 7); manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) ...

2019-04-04 11:56:20 1377

原创 Android手绘三角形气泡

一个正常的气泡基本可以分为两个部分,一个是三角形,一个是正常的带圆角的长方形,先写一个正三角形:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;layer-list xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;!-- 正三角 --&gt; &amp

2018-12-29 10:07:07 756

原创 AndroidUtilsCode记录

开发过程中会有很多细节的东西,一些方法可以抽离到一个公共类,然后复用,就形成了一个AppUtils类,但是随着开发日渐臃肿,哪怕是写了注释但是实际上自己也会弄迷糊,无意中在做动态权限的时候发现一个很赞的三方库,集成了很多的功能,而且对不同的功能进行分类,还有单独的文档可以查看,简直美滋滋啊,记录之。三方库使用说明...

2018-12-27 15:28:21 588

原创 Ubuntu常用命令记录

1.打开网易云音乐:sudo netease-cloud-music

2018-12-13 10:19:18 133

原创 Android黄油刀插件使用记录

之前一直使用的findViewById,感觉写业务的时候逻辑比较清晰一点,时间久了其实非常烦,低版本的AS还要强转view的类型,后来想把find方法放到base类里面避免繁琐的强转,但是流程其实还是差不多。以前了解的黄油刀其实使用起来和find感觉没什么太大区别,可能我看的教程不太对,也是一个个声明过去的,还需要初始化,有点抗拒这种方式。知道某天,看有人推荐了一个插件:Android Butt...

2018-11-23 16:42:08 825

原创 Android的URL Schemes

产品经理今天和我说要跳到某某应用的某某页面,作为菜鸡的我愣了一下,这样也能做?我哪里知道那个页面名。。。查阅了半天,还跑去问平台的客服,都没能解决,后来隔壁IOS给了我一个神奇的参数:打开微信 wechat://微信扫一扫 weixin://scanqrcode蚂蚁庄园 alipays://platformapi/startapp?appId=66666674蚂蚁宝卡 alipays://...

2018-11-22 16:01:58 694

原创 Android常用APP判断和跳转

开场白都不要了,直接上代码 public static final String weChatPackageName = "com.tencent.mm"; public static final String weChatActivityName = "com.tencent.mm.ui.LauncherUI"; public static final String qq...

2018-11-22 15:45:45 425

原创 ImageView宽度高度随图片

这是个很常用的小技巧,很多时候并不知道图片的大小,但是为了好看又固定了图片的宽度,高度随图片的大小按照宽度等比例缩放,这样子所有的图片都能维持宽度一致而图片显示正常android:adjustViewBounds="true"android:scaleType="centerCrop"对ImageView设置这两个属性即可顺带记录一下这两个属性,首先是adjustViewBounds取...

2018-11-15 11:23:32 1082

原创 Git命令行记录

1.将目标目录变成Git可以管理的仓库:$ git init2.添加文件到暂存区:$ git add 文件名3.提交修改到工作区:$ git commit -m &amp;quot;提交说明&amp;quot;可以add多次,最后在commit4.查看库状态:$ git status5.查看修改的内容:$ git diff 文件名6.查看提交日志:$ git log7.单行查看提交日志:$ git log --pret...

2018-10-10 15:23:05 165

原创 Android关于findViewById记录

其实对于view的初始化有其他的很多适合的写法,比如黄油刀,但是个人并不是太喜欢这些东西,findViewById还是最让我觉得舒服和清晰的写法,但是有时候确实会觉得烦,所以我基本上都会在BaseActivity上加入 protected &lt;T&gt; T find(int viewId) { return (T) findViewById(viewId); }...

2018-09-29 14:05:10 199

原创 Android微信MMKV使用记录

MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。当然我这等菜鸟是不太理解的,先把用法get再说。1.依赖注入dependencies { implementation 'com.tencent:mmkv:1.0.10' // replace "1.0.10" with any availabl...

2018-09-28 10:50:26 4362

原创 Android的checkSelfPermission失效问题

有一些功能需要检验应用权限,但是再某些特定的场景下checkSelfPermission是失效的,这里的场景特指应用targetSdkVersion最高为22,手机系统版本为6.0及以上,安装的时候拒绝了一些权限,但是使用checkSelfPermission做权限校验的时候返回的还是true的问题,查阅了其他的博客发现对于系统6.0及以上校验权限需要需要判断targetSdkVersion的版本...

2018-09-27 11:17:55 3803 1

原创 Android获取签名文件sha1值

很多市场都需要这个签名值,获取方法如下: 1.在文件夹中找到这个签名文件,在空白的地方shift+右键,右面的面板就会多一个在此处打开命令行的选项 直接打开命令行窗口,执行keytool -list -v -keystore debug.keystore debug.keystore为签名文件的名字和格式,换成自己的就可以 这里需要一个密码,密码输入的时候不显示,是正常情况,输入完就能...

2018-09-06 11:53:14 2732

原创 Android出现方法超过64k的问题

手机直接debug本身没有问题,但是打包的时候会出现Unable to execute dex: method ID not in[0, 0xffff]: 65536)这种问题导致打包失败,这是单个dex文件方法数超过64k导致的,基本上引入过多的依赖都会出现这个问题,解决方法: 1.导入依赖'com.android.support:multidex:1.0.1'2.defaultCon...

2018-09-06 10:32:34 360

原创 Android在别的Activity关闭某个指定的Activity

直接上代码: 在AActivity中声明 public static WeakReference&amp;lt;AActivity&amp;gt; weak = null; /** * 在别的Activity关闭自己的方法 */ public static void finishActivity() { if (weak!= null &amp;amp;&amp;amp; we...

2018-09-05 17:36:20 3232 1

APP反编译三剑客:apktool,dex2jar,jd-gui-windows

反编译的三个必备软件,避免因为网络问题导致的下载问题

2019-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除