随笔分类 - Android
摘要:一、回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。详细解释: 客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定...
阅读全文
摘要:一、带倒影的图片 就是图片在上,下面带了倒影,像在水里一样!其实原理就是绘制垂直对称图像,然后用透明度来渲染,搞定! 代码如下: 1 public Bitmap createReflectionImageWithOrigin(Bitmap bitmap) { 2 final int reflectionGap = 4; 3 int w = bitmap.getWidth(); 4 int h = bitmap.getHeight(); 5 // 建立倒影矩阵 6 matrix.preScale(1, -...
阅读全文
摘要:位图资源的获取,及和其他各种方式的相互转换在之前的Android图形图像部分的总结里总结过了,下面来进一步总结下对位图的操作。一、位图的缩放 1.将位图按需要重新画一遍:drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint); 2.在原有位图的基础上,缩放原位图,创建一个新的位图:CreateBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter); 3.借助于canvas的scale(float x, float ...
阅读全文
摘要:在Android中,我们可以通过继承Application类来实现应用程序级的全局变量,这种全局变量方法相对静态类更有保障,直到应用的所有Activity全部被destory掉之后才会被释放掉。我们可以在Activity中使用getApplication(),方法来获得Application,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。首先写一个Application子类,主要重写里面的onCreate方法,就是创建的时候,初始化变量的值。然后在整个应用中的各个文件中就可以对该变量进行操作了。
阅读全文
摘要:正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示: (转自:http://www.ideasandroid.com/archives/339)第一步,创建一个背景配置文件float_box.xml,放到res/drawable下:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corne
阅读全文
摘要:一些常用的小功能,不算是技术,一个小总结。1.获取屏幕尺寸、密度等信息。 1)最常用的方法: WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int w = display.getWidth(); int h = display.getHeight(); 2)用DisplayMetrics来获得参数: DisplayMetrics displayMetrics = new DisplayMetrics() ; displayMetri..
阅读全文
摘要:程序就是对资源的获取,加以处理的过程,首先要有获取资源的过程!这里总结的是详解的一本书里的第三章。1.颜色资源:颜色值是通过RGB三原色和alpha,也就是透明度,定义的开始是一个#后面跟上ARGB对应的16进制值。xml文件格式如下:1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <color name="read_bg">#f00</color> 4 <color name="blue_text&quo
阅读全文
摘要:ListView中最重要的就是adapter,他是listview和待显示数据之间的桥梁,他是用来对相应的UI填充数据的,其实很多UI空间都需要adapter,常见的listview,gallery等等。引用网上随处的可见的一个图来表示一下这就是适配器的作用,常用的adapter有简单的arraydapter,有一点扩展性的simpleadapter,带游标的simplecursoradapter,和扩展性灵活性很强的basedapter。下面一一解说:(1)ArrayAdapter:最简单的adpter 实现这个adapter只要一行代码,一个字符串数组即可。其实它也可以支持图片,但是你要重
阅读全文
摘要:一个点击拖动的button,为了测试onTouch方法,给button添加onTouchListener,这个listener要重写public boolean onTouch(View v, MotionEvent event)方法,这里同时测试了是否超出屏幕范围,如果超出了,就以超出部分的屏幕界限做为最终显示位置。代码如下: 1 public class MoveButtonActivity extends Activity { 2 public Button moveb; 3 /** Called when the activity is first ...
阅读全文
摘要:为了增加触摸点击事件的响应,需要在重写onTouch方法的时候,讲action传递给onTouchEvent来处理,由相应的callback函数来调用相对应的事件处理。通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Tap Up、Show Press、Long Press、Scroll、Down、Fling),具体包括以下几种:boolean onDoubleTap(MotionEvent e) 解释:双击的第二下Touch down时触发 boolean onDoubleTapEvent(MotionEvent e) 解释:双击
阅读全文
摘要:首先要知道如何访问图片文件,这是最基本的。一种是资源文件目录下的图片访问,这种可以直接通过Resources.getDrawable(/*resources.id*/),这样就取得了图片的drawable,比较简单。第二种是从给定路径的某个目录下的图片文件获取,这里需要用到BitmapFactory来创建,Bitmap bm = BitmapFacotry.decodeFile(path);这里decodeFile是个静态方法。一、本地保存 即 把 Bitmap 保存在sdcard中://创建目标文件的File File fImage = new File("/sdcard/dcim
阅读全文
摘要:需要有一个解析工厂,SAXParserFactory,通过解析工厂来获得解析器XMLReader,然后给解析器配置ContentHandler,最后通过parse来启动解析,其中有以下主要的方法:startDocument:当遇到文档的时候就触发这个事件 调用这个方法 可以在其中做些预处理工作。startElement: (String namespaceURI,String localName,String qName,Attributes atts)当遇开始标签的时候就会触发这个方法。endElement(String uri,String localName,String name):当
阅读全文

浙公网安备 33010602011771号