Drawable animation 可以加载 Drawable 资源实现帧动画。AnimationDrawable 是实现 Drawable animations 的基本类。推荐用 XML 文件的方法实现 Drawable 动画,不推荐在代码中实现。这种 XML 文件存放在工程中 res/drawable/目录下。XML 文件的指令(即属性)为动画播放的顺序和时间间隔。
在 XML 文件中
1 | <animation-list |
select * from learn
Drawable animation 可以加载 Drawable 资源实现帧动画。AnimationDrawable 是实现 Drawable animations 的基本类。推荐用 XML 文件的方法实现 Drawable 动画,不推荐在代码中实现。这种 XML 文件存放在工程中 res/drawable/目录下。XML 文件的指令(即属性)为动画播放的顺序和时间间隔。
在 XML 文件中
1 | <animation-list |
AndroidPdfViewer 1.x可在AndroidPdfViewerV1 repo上获得,可以独立开发。版本1.x使用不同的引擎在画布上绘制文档,因此如果您不喜欢2.x版本,请尝试1.x.
图书馆在Android上显示的PDF文档,用animations
,gestures
,zoom
和double tap
支持。它基于PdfiumAndroid来解码PDF文件。适用于API 11(Android 3.0)及更高版本。在Apache License 2.0下获得许可。
OnLongTapListener
c++_shared
不是使用gnustl_static
在开发过程中,log日志是每个人多会用上的。平时在开发大项目的时候,几乎每个类多需要加log,然而在发布之前,要求全部删除,真是累。因为系统log暂时没有统一管理的方法。还有就是,特别是在调试的时候,对于线程并发或者子线程的调试,还是加log调试比较精确,用debug工具调试经常和实际不符合。那么,如果使用系统log,调试完又得找出来删除,累++。
作为程序猿,这种笨方法肯定是会鄙视的。对于这种需求,我们自己封装一个简单的工具包。当然这里介绍的是,github上很多人用log框架:logger。
相信很多人多用过,这里给还没有尝试过的人简单介绍下,使用也超级简单。
logger作为调试框架,可以支持多种格式:
Lottie是一个支持Android、iOS、React Native,并由 Adobe After Effects制作aep格式的动画,然后经由bodymovin插件转化渲染为json格式可被移动端本地识别解析的Airbnb开源库。
Lottie实时呈现After Effects动画效果,让应用程序可以像使用静态图片一样轻松地使用动画。
Lottie支持API 14及以上。
和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:
本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题。
通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。但设计不能违背目的,对于不同量级的工程,具体架构的实现方式必然是不同的,切忌犯为了设计而设计,为了架构而架构的毛病。
举个简单的例子:
一个Android App如果只有3个Java文件,那只需要做点模块和层次的划分就可以,引入框架或者架构反而提高了工作量,降低了生产力;
但如果当前开发的App最终代码量在10W行以上,本地需要进行复杂操作,同时也需要考虑到与其余的Android开发者以及后台开发人员之间的同步配合,那就需要在架构上进行一些思考!
转自:https://blog.csdn.net/carson_ho/article/details/54136311
- 本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;
- 所以,请各位读者先记住结论,再往下继续看分析;
- 文章较长,阅读需要较长时间,建议收藏等充足时间再进行阅读
主页:https://oldj.github.io/SwitchHosts/
这是一个用于快速切换 hosts 文件的小程序,基于 Electron 开发,同时使用了 React、Ant Design 以及 CodeMirror 等框架/库。
Demo地址:ConstraintLayout
ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字介绍,多数都是对使用可视化布局拖拽,个人对拖拽一直不看好,直到前段时间看到该文:
非常详尽的介绍了ConstraintLayout的性能优势,于是乎开始学习了一下ConstraintLayout。
本文的重点不在与可视化界面的学习,而在于如何手写各类约束布局属性。对于可视化界面学习推荐:
下面开始进入正题,大家都知道,当布局嵌套深入比较深的时候,往往会伴随着一些性能问题。所以很多时候我们建议使用RelativeLayout或者GridLayout来简化掉布局的深度。
而对于简化布局深度,ConstraintLayout几乎可以做到极致,接下来我们通过实例来尽可能将所有常见的属性一步步的介绍清楚。
首先需要引入我们的ConstraintLayout,在build.gradle中加入:
1 | compile 'com.android.support.constraint:constraint-layout:1.0.2' |