UI 安卓 源码      2016-02-25
> 注:本文中的源码都是Android 23中的源码。 #获取方法 **第一种** ``` LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); ``` **第二种是第一种的封装而已** ```
UI 自定义View      2016-01-23
最终的效果是整个View有一个圆圈,然后开始loading的时候有一个小的实心圆在圆圈上循环转动。 # 1. 新建一个CircleDotLoadingView继承View,如下: ``` import android.content.Context; import android.util.AttributeSet; import android.view.View; /** * Creat
UI View 源码      2016-01-13
本文是《Android开发艺术探索》中第四章View的工作原理中的笔记。 #1. 三个方法概述 1. `Measure` 过程决定了 View 的测量宽/高,measure 过程结束后可以通过 getMeasuredWidth 和 getMeasuredHeight 方法获取 View **测量后的宽/高**(正常情况下它都等于 View 最后的宽高,**但是也有特殊情况**) 2. `Lay
UI View      2016-01-13
本文是《Android开发艺术探索》中第三章Android的事件体系中的笔记。 # View 基础知识 View 的位置参数 MotionEvent TouchSlop VelocityTracker GestureDetector Scroller 等 ## 1. View 的坐标体系 ### left,top,right,bottom ![View 的坐标图,来源:Android 开发艺
UI 自定义View      2016-01-13
#本文实现的效果如下: 一个自定义`ViewGroup`,左右滑动切换不同的页面,类似一个特别简化的`ViewPager`(当然,如果你设置的子View的宽度不是一个屏幕的宽度,那滑动出来就是另外一种效果了,当然,建议自己学示例的时候先按最普通的效果来),他涉及到的内容如下: 1. `Scroller`:`弹性滑动`,水平滑动到一半的时候,放开以后View滑动到一个页面完整显示的位置(这里的页面
UI 源码      2016-01-14
本文想用最简单的方式让读者了解View和ViewGroup的事件分发,这里做的是一个非常简单的步骤项,可以用来复习回顾的时候参考! # View 的事件分发 ## 1. dispatchTouchEvent(): (1)如果 ENABLED 并且设置了 onTouchListener 则执行 onTouchListener 的 onTouch ()事件,如果 onTouch()返回 true 则
UI 安卓      2015-12-15
首先我们看看如何**用RelativeLayout**而且**没有嵌套**生成下面的布局,如果你会的话就不用看后面的了: > 这个布局的特点是按钮3底部对齐,按钮2在按钮3的上面,文本框水平充满剩余的区域,按钮1顶部对齐,列表框垂直充满剩余的区域。 ![](https://leanote.com/api/file/getImage?fileId=5672abd6ab64416467002c5a
UI 安卓      2015-11-04
##设置的方式包括 - 在layout xml中定义`android:scaleType="CENTER"` - 或在代码中调用 ``` imageView.setScaleType(ImageView.ScaleType.CENTER); ``` ##各个scaleType的说明 举例说明: ``` ``` 其中`hello.png`如下: ![](https://leano
安卓 UI      2015-11-04

虽然9-Patch文件看着挺简单的,但是有一些细节问题可能还真是弄不清楚,本文就通过一些实际的例子来告诉你!


本文地址:http://blog.leoray.me/post/android-9-patch


1. 9-patch文件基本说明

  • 9-patch是一个png文件,它比一般的png文件四周多了一个像素的长宽用来标识(就是多了一个1px的透明边框)
  • 我们可以在四周标记像素,左边顶部可以拖出多个区域,代表拉伸区域右侧底部可以拖出多个区域代表内容区域

2. 9-patch的创建方法

现在都用Android StudioAndroid Studio默认支持创建和修改9-patch文件,而且功能非常完备。
在左侧Projects视图中随便选择一张png图片,右键菜单最下面就有Create 9-Patch file... 选项,通过他就可以创建。当然,如果你打开一个9-patch文件就可以直接编辑了。9-patch文件的后缀名是.9.png。顺便说说9-patch编辑的时候,下面工具栏的各个选项的功能:如下图:

其中:
- Zoom:用来放大9-patch图片,放大了以后,方便设置
- Patch scale:用来放大右侧预览(右侧提供了三种预览,水平拉伸,垂直拉伸,水平垂直均拉伸
- Show lock:鼠标移动到图片时,显示图片中的不可编辑区域,也就是除了透明边框的部分(红色栅栏式斜线)
- show content:在右侧预览中显示内容区域(深紫色)
- show patches:显示伸缩区域(绿色区域,水平和垂直交叉处为浅紫色)
- show bad patches:如果你设置的伸缩区域不是单一颜色,这块区域就会用红色框起来,这种区域在复制的时候就不能保证你的图片的图案的一致性了,我们一般将周围的纯色区域设置为伸缩区域,然后拉伸的时候也不会对中间的图案有影响(拉伸的时候会多多重颜色进行复制)。

3. 效果展示

拉伸区域:如下图:浅绿色的线(其实因为宽度是1px,所以说他是线)是我在左侧和顶部的分别添加的两条伸缩区域(每条伸缩区域1个像素),他代表了如果图片需要拉伸的话就会对绿色区域进行

UI 安卓      2015-11-04
本文地址:http://blog.leoray.me/post/android-resource ------ #安卓资源描述的一些细节 1. 为res下面的资源文件家添加`限定符(qualifier)`时,**必须按照特定顺序**(有优先级,下面的`表格2`)添加各个描述符,否则会编译报错。不过的限定符用`-`分隔。 >res下支持的资源目录说明:[表格1](http://develope