Category Archives: Android学习笔记

从源码角度深入理解LayoutInflater.Factory

LayoutInflater在开发中使用的场合非常多,常见的如在Adapter中getView()方法中,或者在Fragment中onCreateView()中等等。开发中使用的多数场景都是通过使用LayoutInflater的inflate()方法来生成一个View的实例,但是LayoutInflater.Factory开发中还是比较少见的,除非是开发多主题模式的应用,如包含了日间模式和夜间模式 […]

阅读更多 »

Android tint着色器初探

tint简介 tint着色器对于多数开发者应该都不陌生了,即使没有直接使用过该属性但是也已经在一定程度上见到它所带来的效果了,它是伴随着Android Metrial Design出现的一个新的属性。Metrial Design设计干净简约,界面扁平统一且色彩鲜艳,因此很多控件都是使用高度统一的颜色值控制的,如何跟控件附上与主题匹配的色彩这就是tint所做的事情。 在Android Metrial […]

阅读更多 »

自定义ProgressDialog最佳实践

ProgressDialog简介 ProgressDialog也是在很多App中比较常见一个控件,大多数是使用它作为加载中的状态展示,也有部分App使用它作为升级过程中的一个弹框,可以同步显示下载进度。为什么需要自定义ProgressDialog,因为不同机型不同版本的手机差异性很大而且系统原生的很不美观。这里的ProgressDialog跟上一篇文章自定义AlertDialog最佳实践类似,使用 […]

阅读更多 »

自定义AlertDialog最佳实践

AlertDialog是每一个App所必须的控件,在Android4.0之前不可否认官方正版的Dialog很不美观,但是Android4.0之后的holo风格的Dialog已经可以上的了厅堂了,再后来的Material Design设计风格的拟物扁平化Dialog已经是给人耳目一新的感觉。虽然官方UI标准愈加完善,可是部分UI设计师依然是按照苹果iOS的规范设计App的UI,完全忽略不同平台UI包 […]

阅读更多 »

PopupWindow的基本使用二

上一篇介绍了PopupWindow的创建和显示,这一篇介绍一下几个比较常用方法,并借助源码解释几个使用过程中比较常见的几个问题,然后对ListPopupWindow和PopupMenu的使用进行简单介绍。主要涉及到下面三个方法的使用:

部分方法使用介绍 setOutsideTouchable(boolean touchable) 该 […]

阅读更多 »

PopupWindow的基本使用一

PopupWindow在开发中也是很常见的一个控件,由于多数情况下PopupWindow都是弹出一个列表框,从Android3.0开始官方提供了两个专门用于弹出列表的弹框ListPopupWindow和PopupMenu,如果想要支持更低的版本可以使用support v7中相应的类。 创建PopupWindow 创建PopupWindow有两种类型的构造方法,一种是传统方式创建View的方式,另外 […]

阅读更多 »

Android 6.0运行时请求权限

Android权限简介 从Android 6.0开始,部分危险权限需要在运行时用户动态授权,因为一个Android应用默认情况下是不拥有任何权限的。在开发的时候,我们会在AndroidManifest.xml中静态地声明相应的权限,如果没有声明该权限却使用了相应的权限,程序会崩溃,抛出异常,例如,如果没有在程序中声明网络权限当我们使用网络的时候,就会抛出如下异常,而且一般不会try catch该异 […]

阅读更多 »

Android 拍照或选择图片并剪裁

在Android平常开发中拍照、选择图片并裁剪几乎是每个App所必须的功能,因为不同版本Android选择图片后返回处理方式不同,再加上不同品牌手机对Android系统的深度定制,导致App在使用Android原生图片处理上或多或少出现一些问题,像微信、QQ这种用户受众范围广对平台兼容性高的App它们都有一套自定义图片选择器,今天这篇博客主要整理一下Android使用原生控件拍照、选择图片以及拍照 […]

阅读更多 »

Android 浅谈View的测量measure

本篇文章算是对Android自定义控件学习笔记三的补充和完善。一般一个View的呈现基本需要三大流程measure、layout、draw,measure作为View的三大工作流程之一,也是三大流程中第一个流程,主要用于确定View的测量宽/高,该流程的执行情况将直接影响后续的两个流程,可谓是重中之重,不可不察也。其余的两个流程layout用于确定View的最终宽高和四个顶点的位置,Draw则将V […]

阅读更多 »
1 2 3 4 7