
android
文章平均质量分 91
yizhan_zjz
希望可以学到更多的东西
展开
-
一个简单的自适应调整字体大小view
最近在项目中遇到一个这样的需求:一个显示金额的view,给定最大的字号,需根据view的宽高使金额字体显示地尽量大、务必完整,且小数位要比整数位小几个字号。 基本的分析思路是这样的:金额其实也就是文本,画文本Canvas有drawText方法可以使用;不同字号的字体,通过调用Paint的setTextSize方法传入不同的参数可以实现;而怎么才能使文本字体尽量大呢? 之前在学自定义控件的原创 2017-11-19 17:28:55 · 5624 阅读 · 0 评论 -
android 注解初步理解
前言 平时在开发中接触过许多的注解,如@Override,@Nullable等,但自己代码中还没怎么用过。所以,就想着学习学习,然后用一下。什么是注解? 注解是一种将元数据与程序元素关联在一起的安全的类似注释的机制。那什么是元数据?元数据就是描述数据的数据,比如下面的代码,toString方法是数据,@Override就是描述toString方法的元数据。@Overridepublic Str原创 2018-01-03 15:56:22 · 629 阅读 · 0 评论 -
一些“跳过”按钮及缓冲框示例
前言 最近自定义控件的实践相对多一些,看到了别人app上实现的效果就想自己动手尝试下,看自己能不能做到。本文是对一些app第一个页面的“跳过”按钮及一些缓冲框的实现。一个控件就详细写一篇文,未免过于麻烦,所以这里是做了一个汇总,只写核心思路及相关伪代码,几个控件写成一篇。后面会给出完整代码。1. 矩形倒计时“跳过” 1. 先来看一下最终效果: 2. 基本思路及相关代码 首先,我们看到“跳过”原创 2017-12-19 16:33:08 · 1460 阅读 · 0 评论 -
java 反射初步理解
前言 之前整理了java同步的相关内容,现在开始整理java反射,都属于java相关内容。在查找资料的过程中,找到两篇个人认为很不错的介绍及应用: Java反射以及在Android中的特殊应用 Java 技术之反射什么是反射? 反射,简单来讲,是一种与类动态交互的机制。为什么是动态交互的?一般来讲,在一个类已经写好且不能再修改的前提下,我们只能调用其暴露出来的方法或属性,而有时候我们又有扩展原创 2017-12-27 16:09:13 · 408 阅读 · 0 评论 -
三个点(或小球)缓冲控件示例
前言 之前看别人app上缓冲框的实现,觉得挺好的,就想实现下。本文实现的是三个动态点的缓冲框。最终实现效果 左边是三个动态的点,右边是一段简单的说明文字。三个点的大小及透明度依次变化,且有规律性。思路及实现 第一次看到这个效果就知道可以通过自定义控件实现:点通过画圆填充的方式实现,点大小的变化通过属性动画不断地修改圆半径实现,透明度通过属性动画不断地给画笔设置新的alpha值实现。总共需要画3原创 2017-12-15 19:01:07 · 528 阅读 · 0 评论 -
mac mkdir read-only filesystem
最近看了一些android源码,看到ActivityManageService时发现android.jar中并没有ActivityManageService的源码,经查资料,该java文件是在frameworks/base/services/java/com/android/server/am/目录下,想看到它的话貌似只能去查看较为完整的android源码了。找到了一篇在mac下编译android源原创 2017-11-24 14:16:25 · 9899 阅读 · 0 评论 -
使用两种方式完成四种弹性动画
前言 最近这段时间对弹性动画比较感兴趣,空闲就做了一下弹性动画的实现。网上对弹性动画的实现其实是有3种,属性动画设置spring插值器、facebook出的rebound以及google出的SpringAnimation。考虑到android的google背景以及想重温一下属性动画的使用,本博实现了第一种和第三种。最终实现效果 注意上述动态图界面的title,第一个界面是属性动画差值器的实现,第原创 2017-12-12 21:16:39 · 1559 阅读 · 0 评论 -
dex编译相关:JIT、AOT
前言 在android的源码中看到了jit相关的代码,感觉jit这词儿有点儿眼熟,就查了一下其相关资料,顺带了解了一下android dex编译技术的变迁史。下面是总结,以问题为引导来说。总结 什么是JIT ? JIT,即“Just In Time”,翻译过来就是“即时编译技术”。android在2.2版本引入此技术,主要是用来提高程序的执行效率的。既然是编译技术,那它具体编译的是什么?又是什原创 2017-12-20 15:42:02 · 592 阅读 · 0 评论 -
一个简单的蒙版制作
前言 最近这段时间,项目中有通过蒙版作功能说明的需求,看了UI效果图后,最终决定使用DialogFragment+自定义view来实现。我尽量封装的好一些,这样调用起来就会比较方便。最终实现效果 最终实现效果如上:点击标题栏右上角图片显示蒙版的第一个内容,点击蒙版显示蒙版的第二个内容,再点击蒙版蒙版消失。核心思路及代码实现 什么是蒙版及如何实现? 所谓“蒙版”,其实就是在应用当前界面覆盖一层原创 2017-12-11 16:28:56 · 3191 阅读 · 0 评论 -
android笔记之Window
前言 这几天开始看Window相关的内容,会把相关的东西记录在这儿,以备以后查阅。内容及内容结构会逐步迭代完善。1. Window是抽象基类,只有PhoneWindow一个抽象基类 android.jar中的Window声明:public abstract class Window { ...} Window的类结构示意图:2. 官方文档中对Window的介绍Abstra原创 2017-11-28 18:27:12 · 518 阅读 · 0 评论 -
android笔记之SystemServiceRegistry
前言 最近在看android源码中Window的内容,在看到WindowManagerImpl创建对象时发现了SystemServiceRegistry,这个类主要是用来缓存、注册、获取系统服务的。因为对它的缓存机制比较感兴趣,所以就研究下它的源码并记录下来,以便以后回顾迭代。1. SystemServiceRegistry刚被导入内存时的分析 先来看一段源码:package andro原创 2017-11-29 17:15:32 · 2977 阅读 · 1 评论 -
LocalBroadcastManager原理解析
LocalBroadcastManager是什么?LocalBroadcastManager原理是怎样的?小结LocalBroadcastManager是什么? LocalBroadcastManager是android中本地广播的核心类。那什么是本地广播呢?它是一种在会在app内部传播的信息通信方式。因为其只在app内部传播,所以它安全;又因为其并不想系统级别的广播那样要有IPC,...原创 2019-07-04 10:35:40 · 574 阅读 · 0 评论