自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

T丶快乐知己丬

冰冻三尺非一日之寒,滴水石穿非一日之功。

  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 kotlin之位移算法

前言最近公司为了拓展员工安卓开发技能,要求java和kotlin进行混合开发。为了快速将java代码转入kotlin,利用as自动转kotlin的方式,把java代码直接拷贝到kt文件中,大部分代码都能自动转成对应的kt代码,但是java中& ,|,>> ,<<等相关的位移代码不能正确转义过来。我就自己看了一下kotlin的位移相关的文档,把相应的java手动...

2019-11-01 17:20:04 3829 2

原创 设置自定义Dialog的宽高

前言我们在自定义dialog时,在使用LayoutInflater.from(context).inflate(layoutId,null)填充布局时,无论layoutId跟布局设置的宽高是多少,最后显示的都是包裹内容。自定义Dialog布局宽高:方法一:设置dialog的window对象attribute属性(注意:这里必须放到dialog.show()之后,否则没效果)final...

2019-04-15 20:03:20 3802

原创 Android 版本太高,导致xml渲染报错

android出现Failed to load AppCompat ActionBar with unknown error.无法预览视图布局解决方法

2019-03-07 19:10:49 284

原创 三种方式实现圆角或圆形图片的自定义View

前言实现圆角或圆形图片显示,我们开发中除了把原图直接做成圆角外,常见有三种方式实现:使用Xfermode混合图层;使用BitmapShader;通过裁剪画布区域实现指定形状的图形(ClipPath)。今天我就来带大家通过上面三种方式实现圆角或圆形的自定义View。先来张效果图:实现1. 自定义属性 &lt;attr name="borderRadius" format="...

2019-01-15 17:01:21 743

原创 解决Android Studio日志太长或滚动太快

前言安卓开发经常遇到那种日志太长或滚动得太快, 我们直接的解决办法就是进行日志输出长度增大和添加日志过滤器,个人推荐用adb logcat处理更加方便灵活。解决办法1. 搜索过滤器 2. 修改日志缓冲大小找到 &amp;amp;quot; Android Studio安装目录\bin\idea.properties&amp;amp;quot; 文件中的 idea.cycle.buffer.size=1024 修改成你要的缓冲...

2019-01-10 17:00:45 4540

原创 微信小程序自定义下拉刷新

哈喽,大家好, 微信小程序出来也有好几年了,大部分项目下拉刷新都用的系统自带的,用起来非常方便,有个缺点就是它的样式被微信锁定了,如果想在下拉不同状态显示不同文字就不怎么方便了,最近公司需求,写了一个带文本提示的下拉刷新组件。回到正题上来,请看标题,木错,我们今天就要讲解一下自定义下拉刷新。实现下拉刷新系统API有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 2. ...

2018-07-05 16:42:04 30420 11

转载 github上十二款最著名的Android播放器开源项目

1.ijkplayer项目地址:&amp;amp;amp;nbsp;https://github.com/Bilibili/ijkplayer介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加...

2018-05-29 17:13:39 2557

原创 AndroidStudio Unable to start the daemon process(无法启动Gradle守护进程)

 最近遇到一个系统重装之后打开Anroid Studio提示Gradle编译报错:Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. ...

2018-02-27 13:44:07 737

原创 buildToolsVersion和gradleBuildTools本地化管理配置

1. 首先了解一下buildToolsVersion和gradleBuildTools buildToolsVersion:android构建工具的版本,在SDK Manager中安装选择版本,buildToolsVersion的版本需要&gt;=CompileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序;gradleBuildTools: gra...

2018-02-26 17:15:22 1740

原创 微信小程序image图片加载完成监听

需求    在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。实现  1. 绑定回调    通过image标签的bindload属性绑定图片加载完成回调函数,src根据图片加载是否完成绑定是否显示缺省图:&lt;image src='{{loadComplete?srcI...

2018-02-11 10:46:45 30273 3

原创 微信小程序使用template标签实现五星评分

前言   微信小程序特点“无须安装,无须卸载,触手可及,用完即走”,适合轻量级应用快速开发。小程序模版思想是它开发的核心思想,可以帮助开发者减少很多重复代码,我们来看看怎么在小程序中实现市面上常用的评分组件, 看看效果图:创建模版wxml文件:  以&lt;template&gt;为根节点,添加name属性用来区分不同模版:&lt;template name="starsTemplate"&gt;...

2018-02-09 16:47:57 4347

原创 微信小程序JS导出和导入

1. 导出  1.1 方法和变量导出(写在被导出方法和变量的js文件)module.exports = { variable: value, method : methodName}1.2 class导出(es6语法)class HomeModule { constructor(url) { this.url = url; }}export { HomeM

2018-01-31 17:29:52 13270 1

原创 RSA加密解密算法Java

前言        RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenA dleman开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘

2017-12-15 14:34:28 1592

原创 数据传递之startActivityForResult

前言     在支持包v4之前我们通过Activity跳转实现数据的返回,通过调用activity.startActivityForResult跳转,通过onActivityResult来接收返回的数据。当v4包出现之后就提供以一个FragmentActivity的类,我们就可以通过fragment进行onActivityResult接收返回数据,而且支持fragment直接跳转到目标Acti

2017-11-21 16:05:08 4063

原创 Android 7.0 调用系统拍照,相册,剪裁,修复拍照图片旋转问题

问题   今天刚把索尼手机升级到Android N, 调用系统相机拍照完之后,在系统相册查看图片正常。但是在自己的应用中裁剪图片时图片是横的,经过查资料发现有的系统拍完照片后把图片旋转了90度。解决办法   很简单把就是把图片反向旋转90度就好,但是会遇到问题是低版本或其他手机没旋转的就会出问题。所以首先要判断哪些图片旋转了,然后进行旋转处理。     1. 获取图片信息 

2017-11-02 08:50:04 3871 1

原创 Android 7.0获取文件Uri适配

问题  在SDK升级到Android N,通过Uri.fromFile(file)获取Uri报 android.os.FileUriExposedException异常,因为在Android 7.0系统上,Android框架强制执行了StrictMode API政策禁止向应用外公开file:// URI,  如果Intent包含了file://类型的URI离开应用,抛出异常,退出程序。

2017-11-01 16:14:22 5679 4

原创 去掉android studio3.0方法参数名提示

android studio升级3.0之后, 代码中调用的方法增加了参数名提示: 很多人不习惯这个提示,我们来看看怎么取消这个提示:

2017-11-01 11:25:55 6819 1

原创 VideoView播放视频案例

最近公司要做一个发布文章的功能可以添加图片和视频,由于视频功能在项目中应用的不是很多,所以就打算直接用原生VideoView进行视频的播放,写完我把通用的代码抽取出来,这里分享给大家。

2017-10-27 13:40:00 2568 1

原创 底部虚拟导航栏适配问题

问题 安卓机型太多适配比较麻烦,这里来讲讲部分手机有的底部虚拟导航按钮适配问题,我遇到有虚拟底部导航栏的手机就有:华为,索尼,OPPO……。 底部导航栏适配需要解决的以下几个问题:哪些机型有底部虚拟导航栏;底部导航栏的高度是多少;针对有底部导航对布局高度进行调整;是否显示底部导航栏 SDK在版本17之后增加了一个获取Window实际分辨率和默认缺省分辨率大小的两个方法: Displa

2017-10-26 09:56:06 4771 2

原创 RecyclerView使用notifyItemRemoved错乱

问题 RecyclerView直接调用notifyItemRemoved(position)移除指定位置的item,第一次没问题,当你滑动或者再次删除是就会报异常导致奔溃。原因 因为notifyItemReomoved只是把对应的position的Item给移除掉,下面的已经显示的Item向上平移而已,并未重新调用onBindViewHolder方法重新绑定数据,当你再次操作其中的数据时,就会出

2017-10-24 14:18:18 3269

原创 android studio 实现对module统一资源配置

说明 android studio开发采用的Project下多module模式开发,每个module下对应一个build.gradle文件对所在的module进行版本,依赖进行配置,这里我们就来实现多个module配置统一在project下配置。 实现 1. 在project根目录下创建配置文件config.gradle 这里我只对编译Sdk版本,build工具版本及design依

2017-09-29 09:37:22 3732 1

原创 Kotlin中的“==”和“===”

说明 在java中我们经常遇到的面试问题两个String的‘==‘和‘equals‘比较的结果,这就是考验大家对String关于‘==‘和‘equals‘的理解。在kotlin中出现了一种===的比较两个对象的运算符,今天就来看看‘===‘与‘==‘在kotlin中到底有什么区别。案例 直接上代码看看结果 Code1 : fun main(args: Array<String>

2017-09-28 17:40:52 10193 1

原创 RxJava实现EventBus

直接上代码: 1. 创建RxBus对象(单例模式) RxBus

2017-09-28 09:41:28 1910

原创 测试中易出现的问题

前言 最近公司让我们iOS和Android互相测试,发现了好多简单的错误却有常常被测试出来了。这就是代码经验不足,写出的代码不够健壮。这里我统计了一些在写代码时就可以避免的错误,预先处理掉这些问题,就能很好的减少测试之后要修改的bug。问题清单文件配置 横竖屏配置 android:screenOrientation=”portrait” 可以写在application节点也可以写

2017-09-27 11:12:16 2700

原创 RecyclerView多样式Item布局设计

说明 因为RecyclerView使用灵活方便导致开发中使用越来越频繁,特别是多样式的Item布局使用RecyclerView来显示比起以前使用ScrollView嵌套ListView,GridView要简单灵活多了。通过参考别人对RecyclerView多条目样式封装,也尝试着写了一个关于RecyclerView多样式的Item布局。 先看个效果图: 实现原理 实现

2017-09-12 18:10:54 3113

原创 Kotlin 之单例

前言 在学完kotlin的基本语法之后,大部分同学就尝试着写以前在java中运用的单例模式,我们在java中写单例有很多种方式,比如:懒汉,饿汉,静态内部类,枚举,双重校验锁等等,然而kotlin里实现单例模式就比java简单多了,甚至一行代码就能实现单例模式。 实现 单例1: object SingleTon 一行代码就可以搞定一个单例,初学者看到这里估计

2017-09-08 17:34:00 5007 1

原创 禁止表情输入和长度限制

前言 现在好多人聊天喜欢输入表情, 所以在开发中测试人员也习惯去测试编辑框输入表情,经常出现数据提交失败。然而好多的编辑并不需要表情的或表情符时,这时我们就需要去禁止用户输入表情。问题 当我们使用setFilters方法过滤表情输入之后,而且通过maxLength增加文本输入字数限制时,两个就不能同时生效了。原因 因为默认EditTextView是有一个关

2017-08-04 15:48:47 3833 1

原创 自定义滚动LinearLayout(垂直)

1. 声明第一次写博客好紧张呀!最近在发现写LinearLayout好多页面一个手机上刚刚好满屏,换一个手机就回出现底部有一部分布局看不到完整布局,第一个想到就是在外面套一层ScrollView, 一下子就解决问题,但是每次都要套一层布局感觉麻烦了,而且套一层布局,如果布局有颜色或者半透明的话,那么在填充布局到界面上时就会多绘画一个层, 所以最近重写一个垂直方向自带滚动效果的LinearLayo

2017-07-06 17:47:26 3245 1

原创 kotlin高阶函数用法

- 描述最近公司强制要求开发使用kotlin和java混合开发,又看了看kotlin的函数的用法。因为kotlin函数和JS的函数编程相似,支持函数闭包,所以kotlin的函数比起java的方法灵活多了,如:函数嵌套,函数变量,高阶函数。1.函数嵌套fun nestedFun() { var a = 1 //内部函数 fun innerFun(a: Int): Int...

2019-11-08 17:19:24 461

原创 进度条下方显示进度Tag

概览: Android应用经常大家会遇到进度条上方活着下方显示进度标记样式进度框,大家遇到这个现在github上有了很多实现,大家会发现别人的东西都会有各种不满足自己样式的样式, 大家马上想到的就是去重写第三方的控件,既然要重写,那为啥不重写系统自带的ProgressBar和SeekBar呢?我这里就是重写的系统SeekBar实现进度条下方显示进度标记,先来效果图:SeekBa

2017-07-31 18:34:19 2514

gradle-4.2-all

目前最新gradle版本,现在android studio更新要求gradle最小版本是4.1,所以4.2也可以用的。

2017-10-26

EditText禁止表情输入

EmojiEditText可实现禁止表情输入,而且不影响maxLength属性的使用

2017-10-26

手势密码Demo

这是关于安卓实现手势密码解锁的一个demo,能够帮助大家快速集成开发,省去很多麻烦计算和逻辑代码。

2017-09-28

xml_parser_utils.jar

根据实体名 直接解析出xml中的实体对象

2014-08-18

空空如也

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

TA关注的人

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