- 博客(37)
- 资源 (5)
- 收藏
- 关注
原创 软键盘顶起滑动view的技术分析
/** * 解决输入框遮挡问题 */class AndroidBug5497WorkaroundUpdate { private var mContentView: View? = null private var usableHeightPrevious = 0 private var frameLayoutParams: ViewGroup.LayoutParams? = null private var height = 0 private var ...
2021-09-14 15:43:29
301
原创 Java的==、equals,kotlin的===、==、equals和js的===、==的区别
Java的==作用:如果是基本数据类型,只比较值,如果是引用数据类型,既比较值又比较地址。java的equals作用:如果equals没有被复写,是用来比较值和引用。ko't'li
2021-06-12 11:35:28
1373
1
原创 view三类位置参数的区别
getX() /getY():相对于view的位置,获得view的触摸点会用到。getRawX()/getRawY(),getScrollX()/getScrollY(
2021-05-30 22:11:04
162
原创 css中display属性和list-style属性冲突问题
li 元素的display默认值是list-item,如果将display修改为其他属性(如inline block),list-style自然就不起作用了。如何解决li元素在一行显示且不影响list-style属性呢,?可以设置li的float属性。
2021-05-16 21:21:51
323
原创 多类选择器和后代选择器的区别
两个选择器之间没有空格就是多类选择器,两个选择器之间有空格就是后代选择器。多类选择器例子如下:.important.urgent {background:silver;}后代选择器例子如下:.important .urgent {background:silver;}省略小数点的等同写法是:important urgent {background:silver;}...
2021-05-13 23:15:35
2070
原创 git log 卡死问题
输入git log 命令卡死如下图:自己尝试找原因,发现是git bash窗口太小的原因,把git bash命令窗口最大化,就没有这个问题了。亲测可行,如下图
2021-04-18 17:18:15
1575
1
原创 解锁xmind中的各种功能
1.下载xmind 10.3.1 版本,请点击我2.安装xmind文件,关闭xmind软件。3.下载解锁文件4.找到xmind安装路径C:\Program Files\XMind5.打开文件夹resources如下图6.将resources文件夹中的文件app.asar重命名为app.asar.bak,解压下载的解锁文件。把里头的app.asar文件拖到resources文件夹里。...
2021-04-18 16:24:15
804
原创 github拉取和上传项目时的报错OpenSSL SSL_read: Connection was reset, errno 10054
因为github的服务器在国外,国内访问非常的慢甚至很容易出现访问报错,如OpenSSL SSL_read: Connection was reset, errno 10054。因此为了更高效的管理项目,本人采用VPN网络代理的方式传输项目。git网络代理的本质是传输协议的代理,因此既然要对GitHub访问进行网络代理,就要了解GitHub支持哪种传输协议。Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。由于个人需求仅仅是HTTP的代理(相对来说,H
2021-04-18 14:52:05
1982
原创 Android studio断点调试,不显示变量的值
Android studio 断点调试的时候,不显示变量的值。经高人指定后,发现minifyEnabled混淆属性设置有问题。混淆如果开启的话,断点调试就不能显示变量的值。把minifyEnabled=false即可解决问题,如下图:...
2021-04-02 17:31:50
2639
原创 This must be due to duplicate classes or playing wrongly with class loaders
接bugly热修复,补丁已经合并成功之后,报错 This must be due to duplicate classes or playing wrongly with class loaders 错误,app奔溃。最后尝试修复,发现打补丁用这个属性 isProtectedApp = true 做了加固处理,而基准包没有加固。把基准包加固之后,再进行热更新,bug就消失了。...
2021-04-02 14:27:11
398
原创 安卓开发时,用charcles调试手机或者模拟器
1.先下载安装文件,再下载破解文件,安装charcles,如下图2.解压破解文件,获得charcles.jar包。如果你的电脑系统是32位,就选择32-bit文件夹中的charcles.jar包。如果你的电脑系统是64位的,就选择64-bit文件夹中的charcles.jar包。然后把对应的charcles.jar包替换lib文件夹中的charcles.jar包。charcles4.0.2版本破解就完成了,以后再也不会出现启动10s弹出提示购买窗口和运行30分钟终止程序。3.下面讲解下cha
2021-03-28 14:08:49
199
原创 Android studio 的Ctrl+shift+F失效的解决方法
Android studio 的Ctrl+shift+F失效的原因是与搜狗繁简体切换冲突了。解决思路如下:进入搜狗输入法的属性设置点击 高级点击 “系统功能快捷键”把“繁简切换”的F快捷键换成其他字母,就OK了,如下...
2021-03-09 20:53:28
2031
1
原创 The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 之taskAffinity属性使用bug
activity 的清单文件设置taskAffinity属性少了个"." 报The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED这个错误,加上"."问题解决。
2021-03-09 16:17:45
1032
原创 gradle版本过高导致bugly热修复打包补丁失败的问题
Android studio 4.0.2gradle 6.1.1报错如下:Error:A problem occurred configuring project ':app'. Failed to notify project evaluation listener. Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant run in 'File-&g
2021-03-05 19:26:56
813
1
原创 gradle4.1以上compile,provided废弃了
gradle4.1以上、Android studio 3.0.0以上,compile废弃使用,而用api、implementation。provided 废弃使用,而用compile only.
2021-03-03 23:14:38
1105
1
原创 android studio 的gradle 窗口不显示Tasks命令
想通过Tasks命令打apk包,发现Android studio 的gradle窗口没有Tasks命令。经过一系列的分析尝试,最终锁定在setting.gradle引入无效module导致的。如上图,include‘:moduleCore:moduleCoreReport’ 是无效的,删除之后Tasks命令就出来。...
2021-03-03 22:42:12
3036
1
原创 kotlin构造函数的函数体在哪里?
kotlin构造函数的函数体在哪里?kotlin的函数声明结构如下class Person(name:String,age:Int){}如果这个类里没有任何内容,可以省略大括号,如下:class Person(name:String,age:Int)如果我们要在类里面初始化一些变量,按照java的语法,直接在构造函数体里操作就可以了。但是kotlin从表面看是没有构造函数体的,那么到底针对kotlin函数的初始化怎么做呢?kotlin语法中引入了init关键字,init{}代码块里,我们就可以
2020-08-09 09:24:07
146
原创 kotlin中 val 、var和 lateinit 的区别
val 和 var 修饰变量必须要在声明的时候初始化。val 修饰的是不可变的变量,相当于java的final修饰的变量.var 修饰的是可变化的变量.lateinit 修饰的变量初始化时机自由决定,但是不注意的话容易报空指针异常。...
2020-07-25 11:35:37
698
原创 kotlin 中? 和 !!作用
?加在变量后面,表示该变量如果为null时,不会执行该变量后面的内容,也不会抛出空指针异常,俗称空安全。如果不为null,会正常执行该变量后面的内容。!!加在变量后面,表示该变量如果为null时,会抛出空指针异常,像java语法一样空指针不安全;如果不为null,才会正常执行该变量后面的内容。...
2020-07-23 22:10:06
762
原创 Android自定义带输入框的软键盘,实现社交软件的评论回复功能
最近做了具有社交软件评论功能的app,今天周末做个总结,一为防止自己忘记、增加记忆,二希望能帮到其他人。做社交软件的评论功能,我遇到的难点不在于写评论功能ui,碰到最大的问题是点击评论弹出具有回复框的软键盘界面,而且软键盘和输入框要同时出现同时隐藏,如下:这个回复评论的弹框利用的是dialog+弹出软键盘组合,主要实现代码如下:package com.example.editcomment;import android.app.Dialog;import android.conten
2020-06-01 11:31:37
1606
3
原创 AS 的terminal出现 ‘adb’不是内部或外部命令,也不是可运行的程序或批处理文件 的报错
解决方法:打开Windows的环境变量——系统环境变量——path——添加sdk下的platform-tools文件全路径,同时前面要加个分号。配置好之后,打开cmd命令输入adb version 出现如下图所示说明配置成功。但是这个时候Android studio的terminal还是不能使用,输入adb version 依然报错,Android studio重启也不能生效。因为接下来还缺少最重要的一步,重启Windows操作系统,至于是否还有其他方法,暂时还没探索出来。大家有什么好的建议
2020-05-31 09:24:53
1266
原创 Android studio环境 下载gradle 失败问题
解决方法,下载gradle到本地,然后打开file——setting——build,execution,deployment——gradle——use gradle from——specified location——选择下载的gradle目录,重新build项目即可。
2020-05-30 21:46:13
2873
原创 MultipleCompilationErrorsException: startup failed , Invalid variable name. Must start with a letter
build时编译的报错:Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:Event log显示的报错如下:Invalid variable name. Must start with a letter but was: . At [1:1] @ line 1解决方案:把build.gradle文件临时保存下,之后把这个文件从这个项目中删除,然后在..
2020-05-30 19:56:52
11632
5
原创 Android SDK packages as some licences have not been accepted
Failed to install the following Android SDK packages as some licences have not been accepted.
2020-05-30 18:53:13
1523
1
原创 ADBWifi调试的使用
1.Android studio中安装ADBWifi插件,安装成功之后重启Android Studio。下面是本人使用的ADB-wifi插件版本,界面如下:之前也尝试用过几个版本,不过最后还是感觉这个版本的界面最简洁。下载链接如下:ADBWiFiConnect-1.7下载完之后,进入Android studio安装->setting->pluigns点击上方最右边的...
2019-12-26 18:19:26
459
原创 android studio环境下,通过ADBWifi调试app遇到的问题
1.笔记本可以adbwifi 调试,台式机就不可以了吗?要使用adbwifi调试,必须保证电脑和手机连接同一个wifi.那么问题来了,笔记本还好,可以连接无线网;但是台式机电脑呢,一般情况是通过有线联网,无法连接无线网。这样说来adbwifi调试只能用在笔记本,而不能用在台式机了吗?如果真是这样,adbwifi就太不友好了吧!!!经过一番研究发现,无论是笔记本还是台式电脑其实都是可...
2019-12-26 14:42:26
1222
原创 SpannableString的ForegroundColorSpan设置字体颜色不生效的问题
SpannableString同时设置了ClickableSpan和ForegroundColorSpan后,发现ForegroundColorSpan不生效。原因:ClickableSpan将ForegroundColorSpan的颜色覆盖了解决方式:将ForegroundColorSpan替换为UnderlineSpan,并重写updateDrawState方法错误代码如下:...
2019-12-05 23:03:06
4290
原创 viewpager 嵌套fragment数据源重复的问题
viewpager是安卓经常使用的滑动组件,使用不娴熟的话经常会出些小问题,如数据源的重复性问题,此问题的根本原因在于当viewpager左右滑动的时候(超过缓存页数),onCreatView()方法会被重复调用。解决这个问题的方法有两种:1. private View mRootView; @Nullable @Override public View onCrea...
2019-12-02 23:18:28
850
原创 RecycleView中使用editText,输入数据后,滑动recycleview出现数据混论(安卓开发实战)
原始错误代码:holder.mEdtProductQuantity.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) ...
2019-05-24 17:02:18
830
原创 虚拟软键盘回车键修改为“发送”,edittext不多行显示的bug,解决方案如下(安卓开发实战总结)
一,在安卓开发聊天界面的时候,经常会有一种需求,把软件盘的回车键修改为“发送”,同时edittext可以多行显示。虽然看起来,是一个比较小的需求,但是这里却有两个坑存在。(1)把软件盘回车键修改为“发送”,但是edittext只能单行显示(2)edittext能多行显示,但是软件盘回车键不能修改为“发送"二,如何做到两点兼顾呢?这里我们需要先了解四个功能性属性和方法:(1)修改...
2019-05-24 14:52:27
4056
1
原创 安卓开发之fragment的setUserVisibleHint,onResume,onHiddenChanged三个方法的应用与之间的区别
要搞明白setUserVisibleHint 、onResume、onHiddenChanged之前,我们先回顾下fragment的其中两种加载方式:一,普通加载 二、懒加载,而懒加载的重要实现方式之一viewpager+fragment组合。1、普通加载用的是hide()和show方法,因此与之关联的方法是onHiddenChanged(),而onUserVisibleHint()在此fr...
2019-05-16 23:00:21
1934
1
原创 安卓之recycleview控件设置padding无效的解决方案
1,下面是recycleview控件paddingBottom的写法,效果如下图:<android.support.v7.widget.RecyclerView android:id="@+id/rv_talk" android:layout_width="match_parent" android:layout_height="wrap_content" ...
2019-05-16 15:33:39
4022
原创 安卓开发详解 getFragmentManager,getSupportFragmentManager,getChildFragmentManager三者之间的区别
因为fragment是3.0之后才有的api,就可以直接用getFragmentManager()这个方法来获取fragment管理器对象。但是3.0之前的版本如果也想获得fragment管理器对象怎么办呢?因此出现了getSupportFragmentManager,用于支持3.0以下的安卓系统API版本。而getChildFragmentManager 是针对fragment嵌套fragm...
2019-05-14 23:34:41
1689
EditComment.rar
2020-05-31
ADBWiFiConnect-1.7.zip
2019-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人