zm.blog

select * from learn


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

AnimationDrawable使用简介

发表于 2018-07-31 | 分类于 Android , Animation | | 阅读次数:

Drawable animation 可以加载 Drawable 资源实现帧动画。AnimationDrawable 是实现 Drawable animations 的基本类。推荐用 XML 文件的方法实现 Drawable 动画,不推荐在代码中实现。这种 XML 文件存放在工程中 res/drawable/目录下。XML 文件的指令(即属性)为动画播放的顺序和时间间隔。

​ 在 XML 文件中元素为根节点,节点定义了每一帧,表示一个 drawable 资源的帧和帧间隔。下面是一个 XML 文件的实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"
>
<item android:drawable="@drawable/loading1" android:duration="100" />

<item android:drawable="@drawable/loading2" android:duration="100" />

<item android:drawable="@drawable/loading3" android:duration="100" />

<item android:drawable="@drawable/loading4" android:duration="100" />

<item android:drawable="@drawable/loading5" android:duration="100" />
</animation-list>
阅读全文 »

Android加载PDF文件的使用

发表于 2018-07-31 | 分类于 Android , View | | 阅读次数:

Android PdfViewer

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下获得许可。

3.1.0-beta.1有什么新功能?

  • 合并拉取请求#557用于捕捉页面(逐页滚动)
  • 合并拉出请求#618用于夜间模式
  • 合并拉取请求#566 OnLongTapListener
  • 将PdfiumAndroid更新为1.9.0,而c++_shared不是使用gnustl_static
  • 更新Gradle插件
  • 将编译SDK和支持库更新到26
  • 将最低SDK更改为14

阅读全文 »

android日志框架Logger的详细使用(目前最新版2.1.1)

发表于 2018-07-27 | 分类于 Android , 框架 | | 阅读次数:

前言

在开发过程中,log日志是每个人多会用上的。平时在开发大项目的时候,几乎每个类多需要加log,然而在发布之前,要求全部删除,真是累。因为系统log暂时没有统一管理的方法。还有就是,特别是在调试的时候,对于线程并发或者子线程的调试,还是加log调试比较精确,用debug工具调试经常和实际不符合。那么,如果使用系统log,调试完又得找出来删除,累++。

作为程序猿,这种笨方法肯定是会鄙视的。对于这种需求,我们自己封装一个简单的工具包。当然这里介绍的是,github上很多人用log框架:logger。

相信很多人多用过,这里给还没有尝试过的人简单介绍下,使用也超级简单。

logger作为调试框架,可以支持多种格式:

  • 线程的信息
  • 类、方法的信息
  • 格式化将 json、xml 输出
  • 支持字符串格式参数
  • 各种集合输出,list、map、array、set等,(只支持debug输出)
  • 支持从日志跳转到源码
  • ……
阅读全文 »

Lottie Android For Animation

发表于 2018-07-26 | 分类于 Android , Animation | | 阅读次数:

Lottie是一个支持Android、iOS、React Native,并由 Adobe After Effects制作aep格式的动画,然后经由bodymovin插件转化渲染为json格式可被移动端本地识别解析的Airbnb开源库。
Lottie实时呈现After Effects动画效果,让应用程序可以像使用静态图片一样轻松地使用动画。
Lottie支持API 14及以上。

一、预览

Example1

阅读全文 »

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

发表于 2018-07-26 | 分类于 Android , 设计架构 | | 阅读次数:

和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:

  • 我的App需要应用这些设计架构吗?
  • MVC,MVP等架构讲的是什么?区别是什么?

本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题。

1.架构设计的目的

通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。但设计不能违背目的,对于不同量级的工程,具体架构的实现方式必然是不同的,切忌犯为了设计而设计,为了架构而架构的毛病。

举个简单的例子:

一个Android App如果只有3个Java文件,那只需要做点模块和层次的划分就可以,引入框架或者架构反而提高了工作量,降低了生产力;

但如果当前开发的App最终代码量在10W行以上,本地需要进行复杂操作,同时也需要考虑到与其余的Android开发者以及后台开发人员之间的同步配合,那就需要在架构上进行一些思考!

阅读全文 »

Android开发总结(思维导图)

发表于 2018-07-25 | 分类于 Android , 面试 | | 阅读次数:

概述

结合自己的理解,用 xmind(思维导图工具) 总结了 Android 应用开发的一些知识点,方便快速梳理整体的知识体系。

阅读全文 »

Android事件分发机制详解攻略,您值得拥有

发表于 2018-07-24 | 分类于 Android , 源码解析 | | 阅读次数:

前言

转自:https://blog.csdn.net/carson_ho/article/details/54136311

  • Android事件分发机制是Android开发者必须了解的基础
  • 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等
  • 今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的
  1. 本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;
  2. 所以,请各位读者先记住结论,再往下继续看分析;
  3. 文章较长,阅读需要较长时间,建议收藏等充足时间再进行阅读
阅读全文 »

SwitchHosts!

发表于 2018-07-24 | 分类于 工具 | | 阅读次数:

SwitchHosts!

  • 英文

主页:https://oldj.github.io/SwitchHosts/

这是一个用于快速切换 hosts 文件的小程序,基于 Electron 开发,同时使用了 React、Ant Design 以及 CodeMirror 等框架/库。

截图

Capture

阅读全文 »

ConstraintLayout完全解析,快来优化你的布局吧

发表于 2018-07-24 | 分类于 Android , View | | 阅读次数:

Demo地址:ConstraintLayout

一、概述

ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字介绍,多数都是对使用可视化布局拖拽,个人对拖拽一直不看好,直到前段时间看到该文:

  • 解析ConstraintLayout的性能优势

非常详尽的介绍了ConstraintLayout的性能优势,于是乎开始学习了一下ConstraintLayout。

本文的重点不在与可视化界面的学习,而在于如何手写各类约束布局属性。对于可视化界面学习推荐:

  • Android新特性介绍,ConstraintLayout完全解析

下面开始进入正题,大家都知道,当布局嵌套深入比较深的时候,往往会伴随着一些性能问题。所以很多时候我们建议使用RelativeLayout或者GridLayout来简化掉布局的深度。

而对于简化布局深度,ConstraintLayout几乎可以做到极致,接下来我们通过实例来尽可能将所有常见的属性一步步的介绍清楚。

首先需要引入我们的ConstraintLayout,在build.gradle中加入:

1
compile 'com.android.support.constraint:constraint-layout:1.0.2'
阅读全文 »

跑马灯MarqueeView(支持任何View)

发表于 2018-07-24 | 分类于 Android , 代码片段 | | 阅读次数:

类似TextView的android:ellipsize=”marquee”的跑马灯效果 任意View都可实现

源码:MarqueeView

阅读全文 »
1…343536…38
ZhangMiao

ZhangMiao

Android/Flutter Developer

379 日志
58 分类
143 标签
RSS
E-Mail QQ Github StackOverflow
友情链接
  • Kaisir
  • Liujianhui
  • Leo
  • Hongyang
  • Liuwangshu
  • Jspang
  • Blankj
  • WuXiaoLong
  • Molunerfinn
  • Ofind
  • Gcssloop
© 2024 ZhangMiao
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站访客数 人次 本站总访问量 次