![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 66
T丶快乐知己丬
站得高,望得远!
展开
-
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 · 477 阅读 · 0 评论 -
kotlin之位移算法
前言最近公司为了拓展员工安卓开发技能,要求java和kotlin进行混合开发。为了快速将java代码转入kotlin,利用as自动转kotlin的方式,把java代码直接拷贝到kt文件中,大部分代码都能自动转成对应的kt代码,但是java中& ,|,>> ,<<等相关的位移代码不能正确转义过来。我就自己看了一下kotlin的位移相关的文档,把相应的java手动...原创 2019-11-01 17:20:04 · 3875 阅读 · 2 评论 -
github上十二款最著名的Android播放器开源项目
1.ijkplayer项目地址:&amp;amp;nbsp;https://github.com/Bilibili/ijkplayer介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加...转载 2018-05-29 17:13:39 · 2579 阅读 · 0 评论 -
解决Android Studio日志太长或滚动太快
前言安卓开发经常遇到那种日志太长或滚动得太快, 我们直接的解决办法就是进行日志输出长度增大和添加日志过滤器,个人推荐用adb logcat处理更加方便灵活。解决办法1. 搜索过滤器 2. 修改日志缓冲大小找到 &amp;quot; Android Studio安装目录\bin\idea.properties&amp;quot; 文件中的 idea.cycle.buffer.size=1024 修改成你要的缓冲...原创 2019-01-10 17:00:45 · 4656 阅读 · 0 评论 -
三种方式实现圆角或圆形图片的自定义View
前言实现圆角或圆形图片显示,我们开发中除了把原图直接做成圆角外,常见有三种方式实现:使用Xfermode混合图层;使用BitmapShader;通过裁剪画布区域实现指定形状的图形(ClipPath)。今天我就来带大家通过上面三种方式实现圆角或圆形的自定义View。先来张效果图:实现1. 自定义属性 <attr name="borderRadius" format="...原创 2019-01-15 17:01:21 · 747 阅读 · 0 评论 -
Android 版本太高,导致xml渲染报错
android出现Failed to load AppCompat ActionBar with unknown error.无法预览视图布局解决方法原创 2019-03-07 19:10:49 · 291 阅读 · 0 评论 -
设置自定义Dialog的宽高
前言我们在自定义dialog时,在使用LayoutInflater.from(context).inflate(layoutId,null)填充布局时,无论layoutId跟布局设置的宽高是多少,最后显示的都是包裹内容。自定义Dialog布局宽高:方法一:设置dialog的window对象attribute属性(注意:这里必须放到dialog.show()之后,否则没效果)final...原创 2019-04-15 20:03:20 · 3902 阅读 · 0 评论 -
数据传递之startActivityForResult
前言 在支持包v4之前我们通过Activity跳转实现数据的返回,通过调用activity.startActivityForResult跳转,通过onActivityResult来接收返回的数据。当v4包出现之后就提供以一个FragmentActivity的类,我们就可以通过fragment进行onActivityResult接收返回数据,而且支持fragment直接跳转到目标Acti原创 2017-11-21 16:05:08 · 4065 阅读 · 0 评论 -
VideoView播放视频案例
最近公司要做一个发布文章的功能可以添加图片和视频,由于视频功能在项目中应用的不是很多,所以就打算直接用原生VideoView进行视频的播放,写完我把通用的代码抽取出来,这里分享给大家。原创 2017-10-27 13:40:00 · 2586 阅读 · 1 评论 -
禁止表情输入和长度限制
前言 现在好多人聊天喜欢输入表情, 所以在开发中测试人员也习惯去测试编辑框输入表情,经常出现数据提交失败。然而好多的编辑并不需要表情的或表情符时,这时我们就需要去禁止用户输入表情。问题 当我们使用setFilters方法过滤表情输入之后,而且通过maxLength增加文本输入字数限制时,两个就不能同时生效了。原因 因为默认EditTextView是有一个关原创 2017-08-04 15:48:47 · 3880 阅读 · 1 评论 -
RecyclerView多样式Item布局设计
说明 因为RecyclerView使用灵活方便导致开发中使用越来越频繁,特别是多样式的Item布局使用RecyclerView来显示比起以前使用ScrollView嵌套ListView,GridView要简单灵活多了。通过参考别人对RecyclerView多条目样式封装,也尝试着写了一个关于RecyclerView多样式的Item布局。 先看个效果图: 实现原理 实现原创 2017-09-12 18:10:54 · 3124 阅读 · 0 评论 -
测试中易出现的问题
前言 最近公司让我们iOS和Android互相测试,发现了好多简单的错误却有常常被测试出来了。这就是代码经验不足,写出的代码不够健壮。这里我统计了一些在写代码时就可以避免的错误,预先处理掉这些问题,就能很好的减少测试之后要修改的bug。问题清单文件配置 横竖屏配置 android:screenOrientation=”portrait” 可以写在application节点也可以写原创 2017-09-27 11:12:16 · 2716 阅读 · 0 评论 -
RxJava实现EventBus
直接上代码: 1. 创建RxBus对象(单例模式) RxBus原创 2017-09-28 09:41:28 · 1913 阅读 · 0 评论 -
Kotlin 之单例
前言 在学完kotlin的基本语法之后,大部分同学就尝试着写以前在java中运用的单例模式,我们在java中写单例有很多种方式,比如:懒汉,饿汉,静态内部类,枚举,双重校验锁等等,然而kotlin里实现单例模式就比java简单多了,甚至一行代码就能实现单例模式。 实现 单例1: object SingleTon 一行代码就可以搞定一个单例,初学者看到这里估计原创 2017-09-08 17:34:00 · 5018 阅读 · 1 评论 -
进度条下方显示进度Tag
概览: Android应用经常大家会遇到进度条上方活着下方显示进度标记样式进度框,大家遇到这个现在github上有了很多实现,大家会发现别人的东西都会有各种不满足自己样式的样式, 大家马上想到的就是去重写第三方的控件,既然要重写,那为啥不重写系统自带的ProgressBar和SeekBar呢?我这里就是重写的系统SeekBar实现进度条下方显示进度标记,先来效果图:SeekBa原创 2017-07-31 18:34:19 · 2519 阅读 · 0 评论 -
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 · 5686 阅读 · 4 评论 -
Android 7.0 调用系统拍照,相册,剪裁,修复拍照图片旋转问题
问题 今天刚把索尼手机升级到Android N, 调用系统相机拍照完之后,在系统相册查看图片正常。但是在自己的应用中裁剪图片时图片是横的,经过查资料发现有的系统拍完照片后把图片旋转了90度。解决办法 很简单把就是把图片反向旋转90度就好,但是会遇到问题是低版本或其他手机没旋转的就会出问题。所以首先要判断哪些图片旋转了,然后进行旋转处理。 1. 获取图片信息原创 2017-11-02 08:50:04 · 3881 阅读 · 1 评论 -
RecyclerView使用notifyItemRemoved错乱
问题 RecyclerView直接调用notifyItemRemoved(position)移除指定位置的item,第一次没问题,当你滑动或者再次删除是就会报异常导致奔溃。原因 因为notifyItemReomoved只是把对应的position的Item给移除掉,下面的已经显示的Item向上平移而已,并未重新调用onBindViewHolder方法重新绑定数据,当你再次操作其中的数据时,就会出原创 2017-10-24 14:18:18 · 3302 阅读 · 0 评论 -
底部虚拟导航栏适配问题
问题 安卓机型太多适配比较麻烦,这里来讲讲部分手机有的底部虚拟导航按钮适配问题,我遇到有虚拟底部导航栏的手机就有:华为,索尼,OPPO……。 底部导航栏适配需要解决的以下几个问题:哪些机型有底部虚拟导航栏;底部导航栏的高度是多少;针对有底部导航对布局高度进行调整;是否显示底部导航栏 SDK在版本17之后增加了一个获取Window实际分辨率和默认缺省分辨率大小的两个方法: Displa原创 2017-10-26 09:56:06 · 4781 阅读 · 2 评论 -
自定义滚动LinearLayout(垂直)
1. 声明第一次写博客好紧张呀!最近在发现写LinearLayout好多页面一个手机上刚刚好满屏,换一个手机就回出现底部有一部分布局看不到完整布局,第一个想到就是在外面套一层ScrollView, 一下子就解决问题,但是每次都要套一层布局感觉麻烦了,而且套一层布局,如果布局有颜色或者半透明的话,那么在填充布局到界面上时就会多绘画一个层, 所以最近重写一个垂直方向自带滚动效果的LinearLayo原创 2017-07-06 17:47:26 · 3266 阅读 · 1 评论