
Android菜鸟分享
文章平均质量分 71
让我们一起共享Android,一起进步学习。
sjf0115
Stay Hungry, Stay Foolish---我们必须用谦虚者的自觉,饥饿者的渴望的求职态度,来拥抱我们的未来。
展开
-
Android进阶2之检索Android的图片库并显示图片详细信息
这篇文章,我们将学习如何检索并显示媒体库中的图片以及每张图片的详细信息包括名称,ID,路径,大小等等。关于游标(cursor)不懂的可以看博文:Android中Cursor类的概念和用法具体实现:package xiaosi.photoLibrary;import android.app.Activity;import android.app.AlertDialog;i原创 2012-03-18 09:26:16 · 4836 阅读 · 4 评论 -
Android进阶2之 阴影制作(Shadow)
阴影制作:包括各种形状(矩形,圆形等等),以及文字等等都能设置阴影。阴影制作是什么原理呢?其实很简单,你需要设置阴影的东西被看作一个主层。然后在主层下面画一个阴影层。阴影制作涉及到一个重要函数:public void setShadowLayer (float radius, float dx, float dy, int color)radius:原创 2012-03-17 13:09:46 · 44638 阅读 · 3 评论 -
Android进阶2之PopupWindow弹窗(有点悬浮窗的感觉)
PopupWindow是一个可以用来显示一个任意的视图的弹出窗口,他需要完全依赖layout布局。它没什么界面,在弹出的窗口中完全显示布局中的控件。上面两个美女头就是弹窗PopupWindow显示的内容。是两个Button。具体实现:注意:那三个Button不能和普通的Button一样通过findViewById()方法获得,必须首先说的Button原创 2012-03-10 15:49:18 · 12570 阅读 · 5 评论 -
Android进阶2之SlidingDrawer(滑动式抽屉)
一概述SlidingDrawer(滑动式抽屉)隐藏屏外的内容,并允许用户拖拽一个handle以显示隐藏的内容。SlidingDrawer可以在垂直或者水平使用。它由两个子视图组成:一个是用户拖拽的handle(柄),另一个是随着拖动变化的content(内容)。SlidingDrawer应当作为内部布局的覆盖来使用,也就是说SlidingDrawer内部应该使用FrameLayout或Rela原创 2012-03-13 15:40:51 · 9705 阅读 · 1 评论 -
Android进阶2之Gallery无限循环
在此之前,我已经发表过常规的Gallery。如果之前没有学习过的,可以查看博文: Android学习笔记之Gallery 这篇文章详细讲述了什么是gallery,以及怎么样是要用它。在这里就不用介绍了,这里主要讲述gallery的循环使用。gallery的循环使用其实很简单的,上网一搜一大堆,但是我还是写一下。一是记录一下自己的学习成果,另一个是和大家一起分享一下。实现gal原创 2012-03-14 20:26:06 · 7594 阅读 · 4 评论 -
Android进阶2之图片倒影效果
先来个效果图看看。他是怎么样实现的呢?其实很简单!第一:利用Matrix矩阵来实现图片的旋转。第二:利用旋转后的图片创建一个位图reflectionImage,宽度不变,高度是原始图片的一般(自己可以随意设置),就是效果图中倒影的大小第三:创建一个能包含原始图片和倒影图片的位图finalReflection(宽度一样,高度是原始图片的高度加上倒影图片的高度)第四:用刚创建的位图原创 2012-03-15 17:35:46 · 9431 阅读 · 4 评论 -
Android实战经验之图像处理及特效处理的集锦(总结版)
1 Android学习笔记进阶之在图片上涂鸦(能清屏)2 Android学习笔记之详细讲解画圆角图片3 Android学习笔记进阶20之得到图片的缩略图4 Android学习笔记进阶19之给图片加边框5 Android学习笔记进阶18之画图并保存图片到本地6 android图像处理系列之三--图片色调饱和度、色相、亮度处理7 andro原创 2012-03-10 13:27:36 · 8004 阅读 · 5 评论 -
Android学习笔记进阶之在图片上涂鸦(能清屏)
HandWritingActivity.javapackage xiaosi.handWriting;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.v原创 2012-03-08 17:30:45 · 21889 阅读 · 11 评论 -
Android学习笔记之为Dialog自定义布局,并说明空指针问题
在使用自定义布局时经常会碰见这样的问题:edit = (EditText) findViewById(R.id.edit);并不能获取到控件对象;在后面代码中使用edit时会报错,空指针异常。意思是edit 为null。解决方案:LayoutInflater factory = LayoutInflater.from(MyDialogActivity.this); final原创 2012-03-07 18:03:06 · 10407 阅读 · 3 评论 -
Android学习笔记之百度地图(根据地名查询经纬度)
重要方法:public int geocode(java.lang.String strAddr, java.lang.String city)根据地址名获取地址信息 异步函数,返回结果在MKSearchListener里的onGetAddrResult方法通知参数:strAddr - 地址名city - 地址所在城市返回:成功返回0,否原创 2012-03-06 11:50:24 · 18002 阅读 · 4 评论 -
Android学习笔记之百度地图(驾车路线搜索及RouteOverlay步行路线搜索及RouteOverlay)
步行路线搜索及RouteOverlay方式与驾车路线搜索类似,只需将mMKSearch.drivingSearch(null, start, null, end)修改为mMKSearch.walkingSearch(null, start, null, end),实现的方法改为onGetWalkingRouteResult即可,不再赘述。驾车路线搜索及RouteOverlay重原创 2012-03-06 10:13:11 · 11338 阅读 · 3 评论 -
Android学习笔记之百度地图(POI搜索之城市poi检索poiSearchInCity)
POI搜索有三种方式,根据范围和检索词发起范围检索poiSearchInbounds,城市poi检索poiSearchInCity,周边检索poiSearchNearBy。public int poiSearchInCity(java.lang.String city, java.lang.String key)城市内poi检索. 异步函数,返回结果在MKSearchL原创 2012-03-05 19:39:08 · 8642 阅读 · 2 评论 -
Android学习笔记之百度地图(周边检索poiSearchNearBy跳转页面并输出搜索结果)
package xiaosi.baiduMap;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;impo原创 2012-03-05 19:29:22 · 9097 阅读 · 10 评论 -
Android学习笔记之百度地图(POI搜索之周边检索poiSearchNearBy)
POI搜索有三种方式,根据范围和检索词发起范围检索poiSearchInbounds,城市poi检索poiSearchInCity,周边检索poiSearchNearBy。下以周边检索为例介绍如何进行检索并显示覆盖物PoiOverlay:public int poiSearchNearBy(java.lang.String key, GeoPoint pt, int原创 2012-03-05 16:55:05 · 23771 阅读 · 2 评论 -
Android学习笔记之百度地图(搜索服务)
百度地图移动版API集成搜索服务包括:位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索,通过初始化MKSearch类,注册搜索结果的监听对象MKSearchListener,实现异步搜索服务。首先自定义MySearchListener实现MKSearchListener接口,通过不同的回调方法,获得搜索结果:public class MySearchListener implemen原创 2012-03-05 16:07:56 · 7890 阅读 · 0 评论 -
Android学习笔记之百度地图(分条目覆盖物:ItemizedOverlay)
看看多了那三个小图片就是我们的效果结果。点击一下也会有相应的。试一下吧!某个类型的覆盖物,包含多个类型相同、显示方式相同、处理方式相同的项时,使用此类:自定义类继承ItemizedOverlay,并Override其draw()方法,如果需要点击、按键、触摸等交互操作,还需Override onTap()等方法。主要用到类 OverlayItem,百度地图上的API原创 2012-03-05 15:45:47 · 5845 阅读 · 0 评论 -
Android学习笔记之百度地图Overlay
地图覆盖物概述所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。地图API提供了如下几种覆盖物:Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法,实现用户自定义图层显示。MyLocationOverlay:一个负责显示用户当前位置的Ov原创 2012-03-05 14:16:32 · 14551 阅读 · 2 评论 -
Android学习笔记之初步学百度地图
用户在使用API之前需要获取百度地图移动版API Key,并且该KEY与您引用API的程序名称有关,具体流程请参照:申请API KEY百度地图API支持Android 1.5及以上系统。API添加到Andoid工程中必须显得下载API开发包:点击下载解压之后包括两个文件baidumapapi.jar和libBMapApiEngine.so。在工程根目录下创建ibs\原创 2012-03-05 09:20:30 · 4258 阅读 · 4 评论 -
Android开发经验之在图片上随意点击移动文字
只要在图片范围之内,文字可随意点击移动。package xiaosi.GetTextImage;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapFactory;impo原创 2012-03-02 10:47:02 · 7704 阅读 · 8 评论 -
Android开发经验之点击图片判断是否在图片范围之内
package xiaosi.grivaty;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Rect;import and原创 2012-03-01 20:59:05 · 7625 阅读 · 0 评论 -
Android开发经验之获取画在画布上的字符串长度、宽度(所占像素宽度)
Android中获取字符串长度、宽度(所占像素宽度) 计算出当前绘制出来的字符串有多宽,可以这么来! 方法1: Paint paint = new Paint(); Rect rect = new Rect(); //返回包围整个字符串的最小的一个Rect区域 paint.getTextBounds(text, 0, 1, rect); strwid = rect.width(原创 2012-03-01 19:55:54 · 8415 阅读 · 0 评论 -
Android开发经验一判断当前屏幕是全屏还是非全屏
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int v = this.getWindow(原创 2012-03-01 19:12:36 · 6226 阅读 · 0 评论 -
Android学习笔记进阶21之设置壁纸
别忘记在ApplicationManifest.xml 中加上权限的设置。 壁纸设置方法有三种: 第一 通过WallpaperManager方法中的 setBitmap()第二 通过WallpaperManager方法中的 setResource()第三 通过ContextWrapper 类中提供的setWallpaper()方法 由于 Act原创 2012-02-22 11:44:00 · 4599 阅读 · 1 评论 -
Android学习笔记进阶20之得到图片的缩略图
简介之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。现在我给大家介绍一种比较简单的方法:(网上有)在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,使用是简单,它提供了一个常量和三个方法。利用这些常数和方法,可以轻松快捷的实现图片和视频的缩略图功能原创 2012-02-20 21:27:36 · 14652 阅读 · 3 评论 -
Android学习笔记进阶19之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width){ borderwidth = width; } 具体实现:package xiaosi.imageborder;import android.app.A原创 2012-02-18 08:20:05 · 15956 阅读 · 5 评论 -
Android学习笔记进阶18之画图并保存图片到本地
1、首先创建一个Bitmap图片,并指定大小; 2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可; 3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不存在的话,要先创建(file.mkdirs).。4、需要添加权限:Canvas是一个画布,你可以建立一个空白的画布,就直接new一个Canvas对象,不需要参数。原创 2012-02-17 22:08:07 · 15022 阅读 · 2 评论 -
Android学习笔记进阶17之LinearGradient
具体的看一下博文:Android学习笔记进阶15之Shader渲染 package xiaosi.BitmapShader;import android.app.Activity;import android.os.Bundle;public class BitmapShaderActivity extends Activity { /** Called when t原创 2012-02-17 14:58:36 · 3797 阅读 · 0 评论 -
Android学习笔记进阶16之BitmapShader
简介具体的看一下博文:Android学习笔记进阶15之Shader渲染 public BitmapShader(Bitmap bitmap,Shader.TileMode tileX,Shader.TileMode tileY)调用这个方法来产生一个画有一个位图的渲染器(Shader)。bitmap 在渲染器内使用的位图tileX The tili原创 2012-02-17 13:17:16 · 26644 阅读 · 5 评论 -
Android学习笔记进阶15之Shader渲染
Android提供的Shader类主要是渲染图像以及一些几何图形。Shader有几个直接子类:BitmapShader : 主要用来渲染图像LinearGradient :用来进行线性渲染RadialGradient : 用来进行环形渲染SweepGradient : 扫描渐变---围绕一个中心点扫描渐变就像电影里那种雷达扫描,用来梯度渲染。ComposeSh原创 2012-02-17 13:15:17 · 11173 阅读 · 0 评论 -
Android学习笔记进阶14之像素操作
在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果。要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作。不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法。我们可以通过getPixels()方法获得该图像的像素并放到一个数组中去,我们操作这个数组就可以了。最后通过setPixels()方法设置这个数组到Bitmap中。在Android中,每一个原创 2012-02-17 11:30:20 · 6995 阅读 · 2 评论 -
Android学习笔记进阶十三获得本地全部照片
这是Intent的一个用法。在ActivityAction里面有一个“ACTION_GET_CONTENT”字符串常量,该常量让用户选择特定类型的数据。intent.setType("image/*"); 选择本地所有的图片。返回该数据的URI.我们利用该常量生成该图片的位图Bitmap,然后为添加到图片控件(ImageView)上就行了。选择你想要的图片:原创 2012-02-16 23:16:40 · 4208 阅读 · 0 评论 -
Android学习笔记进阶十二之裁截图片
package xiaosi.cut;import java.io.File;import android.app.Activity;import android.content.Intent;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Bundle;import原创 2012-02-16 22:36:14 · 6195 阅读 · 2 评论 -
Android学习笔记进阶十一图片动画播放(AnimationDrawable)
大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它。它的使用更加简单,只需要创建一个AnimationDrawabledF对象来表示Frame动画,然后通过addFrame 方法把每一帧要显示的内容添加进去,并设置播放间隔时间,本例子中间隔时间为5S,最后通过start 方法就可。以播放这个动画了,同时还可以通过 setOneShot方法设置是否重复播放。原创 2012-02-16 17:26:48 · 7571 阅读 · 1 评论 -
Android学习笔记进阶十之Matrix错切变换
刚开始我也不懂啥叫错切变换,一看效果图你就恍然大悟。对图像的错切变换做个总结:x = x0 + b*y0;y = d*x0 + y0; 与之对应的方法是:Matrix matrix = new Matrix();matrix.setSkew(0.0f, 0.5f);原创 2012-02-16 13:22:49 · 5002 阅读 · 1 评论 -
Android学习笔记进阶九之Matrix对称变换
网上很多的倒影特效实际上就是一个对称变换,在改变透明度即可。Matrix对称变换包括很多种,有关于Y轴对称,关于X轴对称,关于y= -x对称等等。1 关于Y轴对称// 获取资源文件的引用res Resources res = getResources(); // 获取图形资源文件 Bitmap bmp = BitmapFactory.decodeResource(res原创 2012-02-16 13:10:00 · 4458 阅读 · 3 评论 -
Android学习笔记进阶八之Matrix矩阵
Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。在Android里面,Matrix由9个float值构成,是一个3*3的矩阵。最好记住。如下图:解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的。translateX和translateY表示x和y的平移量。scale是缩放的原创 2012-02-16 12:20:12 · 6769 阅读 · 1 评论 -
Android学习笔记之Bitmap位图虽触摸点移动
package xiaosi.bitmap;import android.app.Activity;import android.os.Bundle;public class mianActivity extends Activity{ private surfaceView bitmapView = null; @Override protected void onCreat原创 2012-02-15 23:16:15 · 10029 阅读 · 2 评论 -
Android学习笔记之Bitmap位图的缩放
位图的缩放也可以借助Matrix或者Canvas来实现。通过postScale(0.5f, 0.3f)方法设置旋转角度,然后用createBitmap方法创建一个经过缩放处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了缩放操作。下面例子中把原位图和经缩放处理的位图都绘制到屏幕上,目的是做一个对比。package xiaosi.bitmap;imp原创 2012-02-15 22:43:53 · 26333 阅读 · 1 评论 -
Android学习笔记之Bitmap位图的旋转
位图的旋转也可以借助Matrix或者Canvas来实现。通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了旋转操作。下面例子中把原位图和经旋转处理的位图都绘制到屏幕上,目的是做一个对比。package xiaosi.bitmap;import android原创 2012-02-15 22:27:56 · 32812 阅读 · 1 评论 -
Android学习笔记之滑动翻页(屏幕切换)
如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧。一般实现这个特效会用到一个控件:ViewFlipperView切换的控件—ViewFlipper这个控件是什么呢?请注意观看博文Android学习笔记之ViewFilpper 。除了这个ViewFlipper,我们还需要了解一下ViewAnimator。它主要是为其中的View切换提供动画效果。还会用到几个方原创 2012-02-15 19:39:51 · 32025 阅读 · 2 评论