自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 自定义布局之宽高比布局的实现

最近在项目中遇到一个屏幕适配的问题,在显示图片时我在布局中宽度和高度都设置了固定的dp值,但当app运行在一些屏幕比较宽的手机上时,会出现图片宽高比不对情况,因为宽屏的手机横向的像素密度比较大,为此在网上找到一个解决方案是,定义一个可以根据图片本身宽高比来设置控件宽高的布局。实现如下首先声明两个属性,一个是picRatio表示图片的宽高比,一个是relative表示要根据宽度按比例确定高度,还

2016-02-29 09:07:08 944

原创 json解析之gson解析

我们知道在json中的两个基本结构是数组和对象,数组以[]括起来,数组里的值可以是数字、字符串、数组、对象几种;对象以{}括起来,对象中的数据是以键值对的形式出现的,键名就是属性名,键值就是属性值,属性值的类型可以是 数字、字符串、数组、对象几种。如果解析的json是一个对象,那么我们建一个这样的类并以键名作为属性名类型为属性值类型。如果属性值是一个数组,那就建立一个List属性,例如下面

2016-02-29 08:07:41 748

原创 两张图让你看懂事件派发机制

首先是ViewGroup的事件派发下面是View的事件派发机制

2016-02-28 00:24:10 1670

原创 Andorid 内容观察者的使用

ContentObserver的作用是监听特定uri的数据库的变化,从而可以及时的对数据进行处理用法:你需要注册内容观察者,调用如下代码: public final void registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)当你不需要监听内容时,调用

2016-02-26 22:00:17 423

原创 程序锁的实现

许多安全软件都提供了程序锁服务,打开加锁的程序时必须正确输入密码才能够进入程序,那么如何实现程序锁呢?程序锁基本原理就是监控Activity的任务栈,核心方法如下:private void appLock() { // TODO Auto-generated method stub new Thread(new Runnable(){ @Override

2016-02-26 20:50:07 1332

原创 SurfaceView原理与使用

SurfaceView内嵌了一个专门用于绘制的surface,你可以控制它的大小。他与普通的View的最大的不同之处在于,它可以在非ui线程中绘制图像。因此用SurfaceView绘制图形不用考虑主线程过于繁忙而无法处理其他东西(ANR)的问题,从而可以获得更高的帧率,降低主线程的负担。用法:首先继承SurfaceView并实现SurfaceHolder.Callback接

2016-02-23 15:48:01 1520

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除