- 博客(49)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 JS获取屏幕宽高属性总结
平时在写界面获取屏幕、浏览器宽高时,经常会搞不清楚window、body、screen中的clientWidth、offsetWidth、width的区别,今天做一个总结帮助自己理解。window、document、screen、body、documentElement的关系window是浏览器中JavaScript的顶层对象,所有全局变量与函数都是window对象的成员,而document也是window的对象,表示当前的浏览器载入的网页(DOM树)。比如像window.alert() = alert
2020-11-26 19:40:36 1340
原创 web高仿樊登H5/微信音乐播放悬浮球效果
这两天完成了一个仿樊登 H5 的音乐播放悬浮球效果,这个效果跟微信音乐播放悬浮球的效果也很相似,今天总结一下实现的思路过程(基于 Vue 实现)。先来看看樊登 H5 的效果。再来看看我的实现,挺完美的,哈哈。实现起来也不复杂,主要是一步步想清楚下面的实现步骤:第一步:小球被限制在固定范围内滑动第二步:停止滑动时,小球吸边效果第三步:点击吸边状态下的小球,变换为音频播放控制面板,点击毛玻璃,恢复成小球第四步:背景毛玻璃效果一步步来说。第一步:小球被限制在固定范围内滑动touchm
2020-07-19 15:29:45 1483
原创 微信小程序已支持分享到朋友圈
微信小程序大概本周二也就是7月7日的时候悄悄上线了分享到朋友圈功能,目前还是beta版本。目前小程序分享到朋友圈有以下2个限制:a.仅支持Android平台,ios平台暂不支持b.微信基础库限制2.11.3及以上开发者设置分享小程序到朋友圈,有2种方式:wx.showShareMenu(),支持快速分享到朋友圈使用默认小程序标题,分享图为小程序logo,不可自定义参数。(uni-app已支持)wx.showShareMenu({ menus: ['shareAppMessage'
2020-07-12 18:05:33 752
原创 iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结。本文目录前言 · 内容与小黑线重叠情况说明1.安全区域含义2.微信小程序适配iPhoneX底部小黑条(Home Indicator) ...
2020-03-29 16:58:15 5860 2
原创 MySQL导出CSV文件报错secure-file-priv权限受限mac
MySQL导出文件遇到secure-file-priv报错前两天在电脑上安装了MySQL 8.0.18,在尝试从数据库导出csv文件时,遇到了以下报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statements...
2019-11-01 00:05:06 1436
原创 使用RecyclerView实现瀑布流
瀑布流也是个常用的显示控件了,但是在使用时经常遇到一些问题,比如滑动回顶部后出现空隙、item在滑动时乱跳等问题。下面就来说说我怎么实现的瀑布流,并且怎么处理上面所说的这些问题的。我使用了原生控件RecyclerView+StaggeredGridLayoutManager来实现的瀑布流,没有用第三方开源框架。下面以2列的瀑布流为例子开始讲解。因为使用了StaggeredGridLayout...
2019-04-10 01:33:24 636
原创 Glide的override方法和View的setLayoutParams方法设置图片宽高对比
用了很久的Glide,最近在使用Glide3时突然想到一个问题,大家都知道使用Glide的override方法可以重写图片大小。而View的setLayoutParams则可以设置ImageView的大小。代码如下://Glide的override()方法设置图片大小Glide.with(this).load(R.mipmap.mantou).override(500, 500).into(i...
2019-03-31 21:16:18 4492 1
原创 Gradle报错Execution failed for task ':app:transformClassesWithInstantRunVerifierForDebug'.
具体问题:在添加WMRouter后,使用Android Studio的绿三角Run运行项目,一直卡在Task :app:transformClassesWithInstantRunVerifierForDebug FAILED位置,但是直接Build APK又是可以的。运行时,Build报错信息如下:[WMRouter] Transform: start...[WMRouter] ...
2019-03-05 18:41:36 653
原创 Glide+SimplifySpanBuild报错Canvas: trying to use a recycled bitmap
问题描述:在Glide的onResourceReady()方法中,使用SimplifySpanBuild设置TextView为文本和图片混排的样式时,报错Canvas: trying to use a recycled bitmap。问题原因:找了很久,发现是同时使用Glide和SimplifySpanBuild所导致的问题,下面一步步说明。出错代码: Glide.with...
2019-03-01 01:08:34 1080
原创 RecyclerView的Inconsistency detected报错解决办法
最近在又一次遇到RecyclerView的Inconsistency detected报错后,研究了一下,终于清楚了问题所在,以及解决办法。报错模拟:先看一下报错日志能看到最先的报错是IndexOutOfBoundsException,然后在网上搜索Inconsistency detected后,了解到这个问题原因是因为RecyclerView的Adapter内外部数据集不一致所出现的报...
2019-02-26 00:38:37 3704
原创 android.support升级到androidx踩坑记录
年前想着Google老大之前提醒过将项目升级到androidx,所以年前一通操作猛如虎把Android Studio唰唰升级到3.2.1,自然也把gradle升级到gradle-4.10.1-all。没想到这只是开始作死的第一步,gradle升级的痛相信升级过的人都懂。升级完项目后,不出所料的Android Studio呈现满江红的样式,十分酸爽。在我一次次修改,不断clean又build项目...
2019-02-13 21:00:17 12373 1
原创 RecyclerView的超强辅助Graywater——综合实操篇
关于Graywater的系列文章RecyclerView的超强辅助Graywater——理论篇RecyclerView的超强辅助Graywater——基础实操篇RecyclerView的超强辅助Graywater——点击事件RecyclerView的超强辅助Graywater——综合实操篇看到上一篇Graywater文章是11月8日写的,也是拖很久了,这篇是Graywater系列文章...
2019-01-30 12:55:29 290
原创 XML文件设置自定义控件color属性无效,原因ALPHA_8只记录颜色的alpha值
背景因为需要给控件四周添加一层均匀的阴影,而使用CardView给控件所添加的阴影其实不是均匀分布在四周的,而是点光源和自然光组合照射的结果,这种情况下控件底边阴影颜色最深。看图会更清晰:所以重新找其他替代的控件,在Github找到一个给View添加阴影控件shadow-layout能够给控件四周添加均匀阴影。不过在使用的过程中发现了一些问题。遇到的问题ShadowLayout有一个co...
2019-01-19 22:12:34 935 4
原创 CardView属性app:cardUseCompatPadding和app:cardPreventCornerOverlap
CardView继承自FrameLayout布局,常用属性如下:参数类型含义app:cardCornerRadiusfloat设置CardView的圆角半径app:cardElevationfloat设置阴影的深度app:cardBackgroundColorint设置卡片的背景色android:foregroundint设置点击时候的水波...
2019-01-16 23:16:04 6249
原创 Android Device Monitor(DDMS)打开白屏,Hierarchy Viewer不能查看UI视图层级问题解决方法
背景原本想使用Hierarchy Viewer查看一个正式应用的视图层级,但是一打开Android Device Monitor,Android Device Monitor就白屏,无法使用,更不要说进入Hierarchy Viewer了。怎么办?还能怎么办呢,google大法好,一步步解决鸭。遇到的问题和结果Android Device Monitor白屏,无法使用。.bash_pro...
2019-01-13 00:29:40 1732
原创 PopupWindow的显示位置
前段时间在使用PopupWindow时,对PopupWindow的显示位置有一些疑惑,今天整理整理。首先看看PopupWindow显示的效果:可以从动图中看到PopupWindow分别出现在了按钮的左侧、按钮中间和按钮右对齐的位置。使用showAsDropDown(View anchor, int xoff, int yoff)方法就可以满足这三个位置的显示需求。Left PopupWi...
2018-12-30 14:01:52 963
原创 BigDecimal比较数据大小
上周遇到个需求是上传文件的大小不能超过5M,因为想尝试着获取准确值,所以使用了BigDecimal类来计算,而通常使用的float和double在计算时是会丢失精度的。BigDecimal常用来获取精确的计算结果,float和double类型主要是为了科学计算和工程计算而设计的,并不会提供完全精确的结果。 long fileSize1 = 3450; //小于5M ...
2018-12-25 20:41:12 1796
原创 Android P Cleartext HTTP traffic to xxx not permitted 解决办法总结
最近在Android P系统上使用腾讯IM的时候,在聊天界面,发送语音对方能听到,我听不到。发送图片对方能看到,我这里就是一个小框,图片显示不了。打断点调试,错误日志如下:java.io.IOException: Cleartext HTTP traffic to xxx.x.xxx.xx not permitted at com.android.okhttp.HttpHandler$Clea...
2018-12-23 23:25:48 1505 1
原创 RecyclerView的超强辅助Graywater——点击事件
关于Graywater的系列文章RecyclerView的超强辅助Graywater——理论篇RecyclerView的超强辅助Graywater——基础实操篇RecyclerView的超强辅助Graywater——点击事件上一篇写了Graywater的基础使用,但是没讲点击事件,这一篇文章就把点击事件给补充上。还是使用的基础实操篇中的GraywaterPrimaryDemo继续写。...
2018-11-11 15:46:08 265
原创 RecyclerView的超强辅助Graywater——基础实操篇
原本上一篇写完之后就想接着就把实操篇文章给完成了的,但是没想到新需求一来,就加了2周的班,到今天才空下来,才有时间继续完成这篇文章。上一篇讲解了Graywater的一些基础理论知识,这一篇文章将讲解Graywater的基本使用方法,并搭配一个基础Demo。下一篇则会讲解Graywater的进阶用法。注意以下所使用的Graywater类库,非Graywater最新类库,比最新的旧一点,但是使用...
2018-11-06 01:51:50 294
原创 RecyclerView的超强辅助Graywater——理论篇
Graywater是一个什么东西呢?它其实与RecyclerView相关,实际上就是RecyclerView的Adapter,但又不是一个普通的Adapter,Graywater内部经过重新设计,能使复杂的RecyclerView在使用时如丝般顺滑。我将从四个问题来带大家了解什么是Graywater。问题一:Graywater是什么问题二:Graywater特点是什么?问题三:...
2018-10-21 18:25:46 310
原创 RSA算法适配Android P
今天在跑Android P模拟器的时候,应用突然报错。查看错误日志:Caused by: java.lang.RuntimeException: java.lang.Exception: 无此算法继续往上查,无此算法对应我自己设置的NoSuchAlgorithmException异常并且是在KeyFactory keyFactory = KeyFactory.getInstance("R...
2018-10-09 20:40:04 2103 1
原创 Button根据EditText输入状态改变背景颜色
需求Button随EditText输入状态改变颜色有3个不同颜色状态, + EditText未输入时,Button处于不可点击状态 + EditText输入时,Button处于高亮状态 + EditText输入且用户按下按钮,Button –> Pressed状态效果如下: EditText在没有输入时,Button不可点击,为灰色状态 EditText输入后,Bu...
2018-06-12 07:54:07 2186
原创 RecyclerView LinearLayoutManager.findViewByPosition()一直返回null
有一个业务需求是要在onCreate()方法中,使用LinearLayoutManager.findViewByPosition()获得RecyclerView的childview代码如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan...
2018-06-10 17:50:00 10768 5
原创 Android Studio 3.0.1 gradle编译报错 Error : unable to resolve dependency for app@
在app目录下build.gradle中引用了第三方类库,gradle编译时不断报错,无法resolve第三方类库,或者无法download第三方类库 dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appco...
2018-06-05 11:43:29 6091 5
原创 Android 8.0系统给第三方apk进行系统签名(未使用Andriod Studio,在Android系统编译环境下签名)
今天组长突然让我给第三方应用系统签名,按照网上搜索的常规方法,没一个奏效,还报错,贼郁闷,最后在龙哥的指导下搞定。现在将方法整理出来,希望对大家有所帮助~首先该应用一定要在AndroidManifest中加入系统级权限android:sharedUserId="android.uid.system"直接安装会报错提示没有系统签名,需要把该应用系统签名Failure [INSTALL_FAILED_...
2018-04-13 20:56:57 6992 8
原创 Android Studio在使用Java 1.8新特性时报错Extension methods are not supported at this language level
StackOverFlow上给出了解决办法:Android Studio: Extension Methods are not supported at this language level新特性需要在N及以上的的系统上才支持,所以需要先修改minSdkVersion的值minSdkVersion = 24然后在app/build.gradle的android节点下添加JAVA 8依赖 c...
2018-04-07 22:00:56 4154
原创 【AOSP输入法】Android TV 7.0添加AOSP输入法(LatinIME)后,编辑文本BACK键返回出现红色下划线的解决办法
问题描述:Android TV默认Leanback Keyboard键盘,使用mm命令将AOSP输入法编译系统后,在使用前两者任一个输入法后按下BACK返回键某些情况下,输入的英文文本始终会出现一个红色下划线(无论拼写对错,而其他语言不会),并且使用Android Studio直接在未将AOSP输入法编译进系统的系统中进行AOSP输入法安装是不会出现红色下划线的。问题分析:红色下划线看起来像是Sp...
2018-02-24 19:11:09 3148
原创 7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法
Android 7.0设置默认输入法参考下面的文章Android修改默认输入法切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP)/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.javaisSystemImeThatHasSubtypeOf()方法中添加 ...
2018-01-31 19:33:02 6897
原创 【Android ContentProvider 一】关于ContactsContract.CommonDataKinds.Phone.CONTENT_URI的一点理解
一切都要从ContactsContract.CommonDataKinds.Phone.CONTENT_URI说起,前两天
2017-12-15 23:52:24 5666
原创 error: cannot spawn git: No such file or directory问题解决办法
之前在Android Studio上使用git都好好的,这几天不知道抽什么风,一直报错,整的我很是郁闷 报错信息如下:error: cannot spawn : No such file or directoryfatal: unable to fork但是很神奇的一点是Android Studio不能Commit不能Push,但是在对应文件目录下使用Git Bash使用git命令就没有问题,能
2017-10-10 21:04:09 27520 1
原创 MonkeyRunner不是内部或外部命令,也不是可运行的程序的两种解决办法
前两天使用monkeyrunner都还是好好的,今天不知道电脑为啥抽风就运行不了报错“monkeyrunner不是内部或外部命令,也不是可运行的程序或批处理文件。”环境变量也没有问题,并没有修改过。研究了一番发现可能跟我用Android Studio把 SDK Tools从 25.1.3 更新到 26.0.2 版本有关系。更新之后 monkeyrunner.bat 文件的路径发生了改变,跑到了too
2017-08-14 19:12:22 5752 4
原创 android 更新歌曲播放进度条seekbar的三种方法
总结了一下更新歌曲播放进度条的三种方法1. 只使用handler来进行更新 2. 使用计时器Timer+TimerTask 3. 使用线程池ExecutorService 实现后的效果图:下面详细讲一下三种做法方法一 使用handler来更新进度条点击播放按钮,在点击事件中添加此行代码,
2016-05-25 16:13:34 13729 1
转载 使用EditText在不同场景下调用软键盘的总结
原文地址: 使用EditText在不同场景下调用软键盘的总结这几天在做自动弹出与隐藏软键盘,EditText在不同的使用环境下调用的方法是不一样的,找不到通用万能的方法,网上写的那些方法也只能作参考,不通用;这里总结一下我的心得,写出来分享给大家,希望对大家有帮助。1.普通Activity中调用软键盘(下面两种方法都可以用):方法一:WindowManager.La
2016-03-25 16:50:11 465
原创 SQLiteLog : (1) no such column: playTime
这两天在写一个本地音乐播放器,在给歌曲写入playTime(最近播放时间)时,老是报错,错误如下:03-16 11:45:36.890: E/SQLiteLog(25880): (1) no such column: playTime,用模拟器查看数据库表的时候,发现确实缺少playTime列,但在Mp3Info.java(放mp3对象属性的类)中我是写了的。找了很久,终于发现,因为playT
2016-03-16 11:55:41 748
转载 在Bundle中传递自定义的Arraylist<Object>
原文点击这里在用多线程的时候,会需要在Message中传递自己定义的Arraylist但是呢,Messge的数据传递必须要用Bundle所以需要将自定义的ArrayList放入Bundle解决方法是用Bundle.putParcelableArrayList(list)当然不能直接把list放入bundle中,必须经过加工方法如下:Message msg = n
2016-03-14 10:56:05 917
转载 启动activity时,有个一闪而过界面
原文点击这里进入应用时,由于应用的启动Activity都会有默认的theme,所以会跳一下原始界面,才启动我们定义的theme。修改这个问题的方法,就是给应用启动的Activity设置一个空的theme。如下面的例子:联系人启动时的Activity为PeopleActivity ,我们就在manifest文件中设置PeopleActivity 的theme为一个空的theme
2016-03-14 10:48:51 2104
转载 Eclipse启动不了问题总结
文章一原文点击这里 Eclipse闪退/打不开/无法启动/一闪而过解决方式: 1.通过在命令行中输入“where java”,找到除jdk目录下的所有java相关程序,直接删掉(一般会在C:\WINDOWS\system32下)2.内存不足,打开Eclipse目录下的eclipse.ini,把里面的-Xmx512m改成-Xmx256m
2016-03-14 10:07:00 11836 2
原创 Java杂记2--abstract类与接口
1.对象的上转型对象假如A类是B类的父类,当用子类创建一个对象,并把对象的引用放到父类的对象中。如:A a=new B();或A a;B b=new B();a=b;称a是b的上转型对象有如下特点:(1)上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。(2)上转型对象可以访问子类继承或隐藏的成员变量,也可调用子类继承的方法或子类重写的方法。
2016-01-09 11:03:18 545
原创 Java杂记1--类与对象
1.类、变量、方法命名遵守下列编程风格:类:1.如果类名使用拉丁字母,那么名字的首字母使用大写,如Hello、Time等。 2.类名最好容易识别、见名知意。当类名由几个单词符合而成时,每个单词的首字母使用大写 如BeijingTime、AmericanGame和HelloChina等。变量:1.一行只声明一个变量,方便给代码增添注释内容
2016-01-07 10:04:08 607
expandablelistview中自定义的child无法点击
2015-10-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人