自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 view的onTouch事件不响应MOVE,up的解决办法

如果要监听手势,一般会想到onTouch,但是我们发现View的onTouch事件只是相应action-down。原因:onTouch中return false。解决办法:1, return true2、在xml布局里加上  android:longClickable="true"这两者并不完全是等价的。return true就意味着该v

2015-04-14 16:16:49 865

原创 .9.png制作方法

一、使用Photoshop绘制点九的方法。确定切图后直接改变图片的画布大小,手动将上下左右各增加1px使用铅笔工具,手动绘制拉伸区域,色值必须为黑色(#000000)。存储为web所用格式,选择png-24,储存时手动将后缀名改为.9.png不过这种方法的缺点是不能实时预览,判断并测试拉伸区域的准确性。

2015-04-13 22:43:56 926

转载 Android中的canvas介绍

一个画图需要四大基本要素:1、一个用来保存像素的Bitmap;2、一个Canvas画布,绘制Bitmap操作;3、绘制的东西4、绘制的画笔Paint(颜色和样式)1、如何获得一个Canvas对象。Canvas对象的获取方式有三种:第一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做

2015-04-11 19:32:15 551

转载 Canvas的save和restore

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。 onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?  save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、

2015-04-11 19:26:34 342

原创 Android中的OnMeasure及OnLayout

1、View中包含onLayout()、onMeasure()、layout()、measure()。查看源码可以在View的layout()中调用了onLayout(),而onLayout()本身是一个等待重写的空方法,同样的在measure()中调用了onMeasure()方法,和onLayout()不同的是onMeasure()并不是一个空方法,在其中调用了setMeasureDimensi

2015-04-11 19:11:18 479

原创 android的onDraw()调用时间

程序初始化时,会调用ShowWindow以及UpdateWindow,而UpdateWindow会发送一个WM_PAINT消息给系统。因此,你加在OnDraw中的断点会在初始化时生效。由于,AppWizard生成的程序框架中包含许多涉及发送WM_PAINT消息的函数,比如,当你调整窗口大小,使得客户区中的显示内容改变时,窗口的OnSize函数会发送WM_PAINT消息,此时OnDraw会

2015-04-11 19:07:18 3696

转载 自定义View之onMeasure()

可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,Activity框架,View框架中大量的on函数基本上都应用到了Template模式,掌握

2015-04-11 18:58:00 294

转载 时间间隔: SystemClock.uptimeMillis与System.currentTimeMillis

很多情况下,不管是我们自己使用时间间隔来做一些算法,或是调用系统的API,比如动画效果,都会需要基于时间间隔来做,通常做法是:记录开始时间 startTime,然后每次回调时,获取当前时间  currentTime,计算差值 = currentTime - startTime,而获取当前时间,系统提供了两种方法:SystemClock.uptimeMillis 和 System.cur

2015-04-11 18:47:22 710

转载 简单的string占位符替换

今天在这里总结下2种string占位符的实现方式:Java代码   String stringFormat  = "lexical error at position %s, encountered %s, expected %s ";    String messageFormat ="lexical error at position {0}, encoun

2015-04-09 08:42:39 695

原创 Android中处理软键盘上“回车键”的2种方法

1. 给EditText设置属性【android:imeOptions="actionDone"】2.给EditText设置属性【android:inputType="text"】如  [html] view plaincopyprint?EditText          android:id="@+id/editText1"  

2015-04-03 10:31:10 1794

转载 MeasureSpec学习 - 转

在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSp

2015-03-28 16:14:46 340

转载 org.json.JSONObject的optXXX方法

JSONObject有很多optXXX方法,比如optBoolean, optString, optInt...他们的意思是,如果这个jsonObject有这个属性,则返回这个属性,否则返回一个默认值 例如[java] view plaincopyprint?JSONObject json = new JSONObje

2015-03-24 22:48:51 749

原创 Android APP启动页面

以前做过app启动界面是直接启动SplashActivity,在SplashActivity中设置计时器,超过三秒之后自己进入MainActivity。      今天介绍一种用的更多地方式,先直接启动MainActivity,在onCreate方法中启动如下函数:      private void startSplash() {Intent intent = new Intent(

2015-03-24 21:47:28 505

原创 Android微博授权登录

啥也不说了,发张图吧。

2015-03-23 23:18:28 521

原创 新旅程的开始

岁末年初,新的开始,写点啥吧。      一三年六月份毕业,到现阶段马上跨过两个年头。      期间经历过JAVA EE、JAVA WEBSERVICE、ANDROID、HADOOP,一直没能留下点啥。      前不久换掉了干了两年的第一份工作,也算是一个全新的开始。不管过去的生活咋样,临要走了总归是舍不得的。今天去搬家的时候碰到了以前的导师,以前的生活基本上全部依赖于他的照顾,这

2015-03-22 22:57:39 387

空空如也

空空如也

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

TA关注的人

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