- 博客(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
原创 新旅程的开始
岁末年初,新的开始,写点啥吧。 一三年六月份毕业,到现阶段马上跨过两个年头。 期间经历过JAVA EE、JAVA WEBSERVICE、ANDROID、HADOOP,一直没能留下点啥。 前不久换掉了干了两年的第一份工作,也算是一个全新的开始。不管过去的生活咋样,临要走了总归是舍不得的。今天去搬家的时候碰到了以前的导师,以前的生活基本上全部依赖于他的照顾,这
2015-03-22 22:57:39 387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人