Android自定义View播放Gif动画
GIF是一种很常见的动态图片格式,在Android中它的使用场景非常多,大到启动页动画、小到一个Loading展示,都可以用GIF动画来完成,使用也很方便,直接从美工那边拿过来用就成。如果项目赶时间或者自定义原生动画太麻烦,GIF都是一个很好的选择,相比于最新的WEBP格式的动…
一句话搞定PopupWindow
一句话搞定PopupWindow
我一行代码都不写实现Toolbar!你却还在封装BaseActivity?
声明:本文是JessYan原创,已获其授权发布,未经原作者允许请勿转载 前言 距离 上篇文章 的发表时间已经过去两个多月了,这两个月时间里我没写文章但一直在更新着我的 MVPArms 框架,让他逐渐朝着 可配置化集成框架 发展 就在前段时间我在 鸿洋公众号 上看到了一篇文章,大…
Android知识点回顾之Activity基础
Activity的生命周期包括onCreate(),onRestart(),onStart(),onResume(),onPause(),onStop(),onDestroy()。其相互转化的过程如下图所示。左边的图是单个Activity的生命周期回调情况。右边的是当前Acti…
Android View的可见性检查方法(上)
主要涉及 View.getVisibility()、View.isShown()、View.getGlobalVisibleRect()、View.getLocalVisibleRect() 和几种列表中 View 的可见性检查。这位作者写的挺详细的。
TabViewPager很好用
在顶部显示一个Header,接着是一个TabLayout,而每个Tab都对应一个RecyclerView,在向上滑动的时候,Header和TabLayout跟随RecyclerView滑动,但是TabLayout不能移出顶部。 可以看到,布局很复杂,而且必须是Material …
Android 开发人员不得不收集的代码 (持续更新中)
做这份整理是想把它作为 Android 开发的小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询 API 的使用,费时费力,这里有的话,大家尽管撸走;同时也希望它能逐日壮大起来,期待大家的 Star 和完善,当然我也会一直更新发布版本和日志,为了方便大家导入,现已上传 jcenter;其中很多代码也是汇四方之精华,谢谢前辈们的提供,当然最终还是要通过单元测试的,如有错误,请及时告之。
堪比阿里插件的 Android Studio 插件集合(IDE通用)(下)
除阿里插件之外这些好用的插件你知道吗?
如何使用RecyclerView打造首页轮播图
序言:最近接到一个任务,做一个类似上面自动翻页的功能。可以看到,这一屏中有三张图片显示出来了,有两张没有显示完全,看到设计图的时候第一反应是可以用viewpager来实现,但是任务却跟你开了一个天大的玩笑,要求是以最左边的图片为基准,也就是说,左边的图片也得显示完全,就像下图所…
Kotlin 知识梳理(4) | 数据类、类委托 及 object 关键字
通过本文,一起来看看 Kotlin 中的数据类、类委托 及 object 关键字
用TextView实现富文本展示,点击断句和语音播报
最近有一个需求:移动端需要展示用户在PC端做的笔记,而笔记内容是富文本形式——有图片,有文字,文字可以设置颜色、加粗、倾斜等等。同时,用户点击的时候能够语音朗读所点击的当前整句的内容。 但是,还有一需求:点击断句——我们需要判断用户的点击,定位到所点击的整句话,然后再将整句内容…
Constraint Layout 1.1.x带来了哪些新东西?
今年的Google I/O上谷歌发布了新版本的ConstraintLayout,但是我们并没有从中得到多少信息,只有一篇非常简陋的博客。
那么到底是哪些新特性,它们的功能和用法又是怎么回事呢?
Android组件框架:Android视图片段Fragment
第一次阅览本系列文章,请参见导读,更多文章请参见文章目录。 Fragment放置在Activity容器中,通常用来作为UI的片段,在日常的开发中也有着广泛的应用,先来看一段常用的代码。 这是我们非常常见的代码,借着这段代码,引出我们今天的主题:针对Fragment的全面的源码分…
我学习Android的一些套路
今天我将给大家分享一下我学习Android的一些方法和想法,分享中并不局限于Android哪一块怎么学习。而是一个总体的,普适性的学习套路和方法。希望可以帮助大家解决一些问题。
全局替换字体,开源库更方便!!!
在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究。 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我决定将它们拆分一下,分几篇来详细的讲解。主要会是一些常用的替换字体的方案,最后还会…
算法(一)时间复杂度
前言 算法很重要,但是一般情况下做移动开发并不经常用到,所以很多同学早就将算法打了个大礼包送还给了老师了,况且很多同学并没有学习过算法。这个系列就让对算法头疼的同学能快速的掌握基本的算法。过年放假阶段玩了会游戏NBA2K17的生涯模式,没有比赛的日子也都是训练,而且这些训练都是…
Java多线程-死锁的出现和解决
死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不能正常运行.形象的说就是:一个宝藏需要两把钥匙来打开,同时间正好来了两个人,他们一人一把钥匙,但是双方都再等着对方能交出钥匙来打开宝藏,谁都没释放自己的那把钥匙…
牢补基础,话说Service那点事
Service通常总是称之为“后台服务”. Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。 此外,组件…
不可思议的OOM
本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。
Android 能让你少走弯路的干货整理
这个公众号是由「stormzhang」维护的,江湖人称「段子张」或「良心张」分享了很多 Android 方面的干货,除了 Android 之外也有很多其他方面的干货,真的相当的良心,我开始写博客也是受了张哥的影响,良心推荐。 郭神出品,必属精品,郭神在 CSDN 上面写了很多高…
动手写个Retrofit简易版
给EventBus发的消息加个id来区分
在小型的项目当中,接入EventBus不失为一种好的解耦方式,同时也很好的避免了多余的接口代码的编写,发送方只管将消息发出,而不用去管对应消息类型的接收方怎么处理。 然而,在使用过程中,也难免遇上了一些不好用的特性。 EventBus可以通过@Subscribe注解来声明接收方…
三行代码实现 TabLayout+ViewPager 的 Tab 滑动效果,从封装到开源
在学习 TabLayout 的时候为了加深自己的记忆,将 TabLayout 和 ViewPager 进行了一些简单的封装,可以更加快捷的生成我们想要的滑动页面,对于新手拿来练手还是不错的
ConstraintLayout布局使用详解
之前在使用Android Studio新建项目的时候,发现MainActivity的默认布局从RelativeLayout变成了ConstraintLayout。当时就对这个ConstraintLayout很好奇,就研究了一下。发觉确实很强大,在此做个总结。
什么是Constr…
这交互炸了:饿了么是怎么让Image变成详情页的
晚上叫外卖,打开饿了么,发现推了一个版本,更新以后,点开了个鸡腿,哇,交互炫炸了。 本文同步自wing的地方酒馆 不过还是有槽点。我是无意中才发现可以左右滑动的。这。。。你不告诉我,我怎么知道左右可以滑。 https://github.com/githubwing...…
不求服务端,自己改接口!Charles抓包工具在Android/iOS开发中的应用
作为移动开发工程师,平时开发阶段跟接口相关的工作都是要和服务端的小伙伴进行对接的,在对接的过程中一定会有一些不太方便的地方。 那么,今天我要给大家介绍一下「Charles」这款抓包软件,使用 Charles ,数据接口相关的接口和调试工作将变的高效、简单、痛快。 我将具体介绍「…
Android项目总结(二)仿IOS效果的日期选择器和省市县三级联动
离第一篇项目总结《Android 项目总结(1)- 之弧形ViewPager 和弧形HeaderView》过了一周多的时间了,趁今天周末有时间为大家带来第二篇:项目中用到的选择器。 在我们的开发过程中,可能会遇到这样的需求:给定用户几个选项或者让用户从某个范围内选择需要的值,而…
2017上半年技术文章集合—184篇文章分类汇总
分享
少年郎,你需要封装好的ViewPager工具类
ViewPagerHelper 是一个能快速帮你的完成 app引导页,轮播,和viewpager 指示器的工具,内面内置了常用属性,满足你日常对油腻的师姐的一切幻想,解放你的双手,释放你的灵魂。。。。。
Retrofit2 + OkHttp3 配置及Interceptor原理
Retrofit2 + OkHttp3 的基础配置分享及Interceptor原理的简单介绍
多包名打包以及集成“极光推送”的坑点(区别于“多渠道打包”)
最近经常看到公司同事分享一些文章,偶然看到一篇讲运营的文章,大概说运营和技术是分不开的 balabala。
ASO技术,一个能让产品迅速火起来的东西,典型公司,某马拉雅听书(此处不评价,不撕逼,只说技术)。不多说,下面进入技术分享阶段。
1.多渠道打包,一般用在app在各大应用…
【Android百大框架排行榜】
4个月无聊时间,阅读了github上700个Android标签的框架。花费70个小时写的一篇笔记式文章.、很多错误之处,受时间与能力限制,没能及时修改,隐隐懊悔, 受读者启发,遂将此文公之于众,旨在号召大家共同编辑、共同参与,让此排行榜帮助更多的Android开发者。
先定一个小目标,比如写一个 QQ
本项目是即时通讯的示例项目,使用了 MVP 模式,集成了环信 SDK 和 Bmob 后端云,展示了即时通讯基本的功能的实现,包括注册登录,退出登录,联系人列表,添加好友,删除好友,收发消息,消息提醒等功能。
Android Studio 3.0 新功能解析和旧项目适配
上周四,Google 终于在经历大半年的打磨锤炼之后正式发布 Android Studio 3.0 版本,给广大安卓开发人员一份满意的答卷。如往常一样,每次新版开发工具的发布,很多谨慎点的朋友仍担心稳定性、是否存在坑等问题,选择隔岸观火,等一段时间再更新升级。 经过查看官网对新…
Android内存优化(三)避免可控的内存泄漏
相关文章 Android性能优化系列 Java虚拟机系列 前言 内存泄漏向来都是内存优化的重点,它如同幽灵一般存于我们的应用当中,有时它不会现身,但一旦现身就会让你头疼不已。因此,如何避免、发现和解决内存泄漏就变得尤为重要。这一篇我们先来学习如何避免内存泄漏。 1.什么是内存泄漏…
Android 8.0 Oreo 开发者常见问题
为了尽快让大家了解 Oreo 的特性,以及它与之前版本 Android 的区别,我们本月推出的《Android 开发者 FAQ》就为开发者们解答一些 “奥利奥” 的相关问题。
Kotlin开源项目集合
学习一门语言最快的方式就是看其如何在实际项目中运用,下面总结了一下在学习kotlin过程中看过的一些开源项目,希望对你有帮助。 介绍:这个项目其实是Kotlin-for-Android-Developers这本书的配套代码,如果你是kotlin的初学者,那么这绝对是你学习kot…
一招教你打造一个滑动置顶的视觉特效
思来考去,其实我们写View的时候以少量的代码打造轮子才是精髓。于是对scrollView进行处理。明显的简单方面!!! 当广告栏的高亮 大于手指所华东的高度的时候,所指定固定悬浮的View在他本身父布局的View中,否则指定一个顶部的父容器添加在里面即可。
Android自定义View中的一个小细节
本文主要介绍自定义View中我们比较容易忽视的一些小细节,下面的内容我将结合一个简单的自定义View的例子解释下我们可以如何让自定义View做得更好,这里的自定义View的例子是类似即刻应用中点赞时数字变换效果
直接拿去用!每个App都会用到的LoadingLayout
前言 项目里都会遇到几种页面,分别为加载中、无网络、无数据、出错四种情况,经常要使用,所以封成库引用了,方便使用,顺便分享出来。先看一下效果: 原理比较简单,继承FrameLayout,在xml渲染完成后,加上加载中、无网络、无数据、出错四个页面,根据需要控制显示哪一层,花了些…
Android性能优化
主要讲述的是常用的布局优化以及体积优化