
Android拾荒记
文章平均质量分 63
搜集android的零碎知识,整合并用。
逆转星河
我是一个音乐猿。
展开
-
Android之3.5版的百度地图的定位、覆盖物实现以及覆盖物的点击事件
概述前段时间,在用到新版(3.5.0版)百度地图时,在地图覆盖物实现以及覆盖物点击事件的添加部分遇到点挫折,发现网上很多的资料写得都不够详细,所以我就想写一个有关从地图定位到地图覆盖物及其点击事件的实现的博文。效果图:覆盖物及其点击事件:自定义缩放控件的实现效果(注意图中的加减按钮):实现此例程之前要做的的步骤:1、申请Baidu API_KEY;...原创 2015-10-27 21:21:59 · 3916 阅读 · 1 评论 -
Android自定义控件之美观的实用型统计表的制作
概述绘制统计表,势必要用到自定义控件,一个统计表,看起来单元项很多,但实际上做起来并不复杂。要传递数据进来,用集合类最好。要确定每个表格单元的宽和高,并根据数据数目和表格每列的高来决定自定义控件的高。绘制表格线和表格单元背景的颜色,同时,绘制每个表格单元的文本。先看看效果:Demo自定义一个控件:/** * Created by Administ...原创 2015-10-21 18:36:14 · 6322 阅读 · 2 评论 -
Android自定义控件之滑动解锁九宫格
概述:滑动解锁九宫格的分析: 1、需要自定义控件; 2、需要重写事件onTouchEvent(); 3、需要给九个点设置序号和坐标,这里用Map类就行; 4、需要判断是否到滑到过九点之一,并存储滑到过的点的序号,而且需要一个方法可以返回它们,这里用List类就行;滑动解锁当前还是比较流行的,今天写了个简单的滑动解锁九宫格的例程,分享出来让初学者看看。我的是这样的: Demo首先,自定义一个原创 2015-10-14 19:50:00 · 2896 阅读 · 2 评论 -
Android自定义ViewGroup之子控件的自动换行和添加删除
概述:常用的布局类型并不能满足所有需求,这时就会用到ViewGroup。ViewGroup作为一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width)、高度(layout_height)、对齐方式(layout_gravity)等;当然还有margin等;于是乎,ViewGroup需要做的事情是:原创 2015-10-13 11:31:43 · 4252 阅读 · 4 评论 -
Android自定义view之绘制实用型的柱形图和折线图
概述:前几天突然需要做两种图表——柱形图、折线图,于是第一反应是先看看网上有没有现成的,结果有是有,但都不是我想要的,而且大多数不是用纯android代码完成,HTML5似乎完成这类工作要容易得多,但是我本人并不会HTML5,只能黯然神伤,掩面流泪,最终只能自己敲代码了。**知识点:**android自定义view、图形图像、Fragment、MVC模式。Demo界面是模仿红圈营销搭建的折线图:原创 2015-10-10 08:57:19 · 4152 阅读 · 10 评论 -
Android之手势的识别与处理(双击onDoubleTap、滑动onFling、拖动onScroll)
概述:一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的轨迹去判断是什么手势)。 Android sdk给我们提供了GestureDetect...原创 2015-09-24 19:59:18 · 19254 阅读 · 3 评论 -
Android的事件传递(仿下拉刷新)
概述:Android事件构成: 在Android中,事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作。所有这些都构成了Android中的事件响应。总的来说,所有的事件都由如下三个部分作为基础:按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP)跟touch事件相关的3个方法:public boolean dispa原创 2015-09-24 19:24:23 · 2231 阅读 · 1 评论 -
Android自定义SurfaceView与传感器的并用(实现自绘的指北针)
概述:SurfaceView是Android中极为重要的绘图容器,SurfaceView的图像绘制是放在主线程之外的另一个线程中完成的。除了绘图,SurfaceView还能播放视频。实现方法:实现Android的自定义SurfaceView,需要新建一个继承于SurfaceView的类,并且重写至少一种构造器,在构造器中,需要同过getHolder()方法得到一个SurfaceViewHolder类原创 2015-09-21 22:37:03 · 2843 阅读 · 0 评论 -
Android动画绘制者Animator与LayoutAnimator
概述:与Android的Animation控件相比,Animator与LayoutAnimator处理后的控件完成动画效果后不会回复原状。Animator只使用与View对象,和Animation类似,Animator也能通过xml定义,需要用objectAnimator来定义各种动画效果。 LayoutView常用于给控件的添加删除增加一些特殊效果,如淡入淡出等。DemoAnimatorAnim原创 2015-09-20 20:33:13 · 1958 阅读 · 0 评论 -
Android动画控件之Animation
概述:android的动画效果包括:移动,渐变透明度,旋转,缩放。 实现动画的方式有两种:在java代码中动态实现,在xml中静态实现。demo动态实现: /* 动画的透明度渐变 */ AlphaAnimation alphaAnimation = new AlphaAnimation(1f,0);//透明度从1到0 alp...原创 2015-09-20 20:06:03 · 1550 阅读 · 0 评论 -
Android自定义View之图形图像(模仿360的刷新球自定义一个SeekBar)
概述:360安全卫士的那个刷新球(姑且叫它刷新球,因为真的不知道叫什么好,不是dota里的刷新球!!),里面像住了水一样,生动可爱,看似简单,写起来不太简单,本例程只是实现了它的部分功能而已,说实话,跟360的刷新球比起来差距还是很大,我这个长得有点挫。 本历程需要用到的知识包括:android的自定义View,自定义canvas、path、Bitmap、Handler先结果演示: ...原创 2015-09-18 21:43:36 · 1975 阅读 · 0 评论 -
Android图形图像之自定义控件属性(demo:刮刮乐与打码以及图片的缓存)
概述:此部分内容涉及到android的自定义View、自定义属性和Android图形图像处理的综合应用:Bitmap、Path、Matrix、Canvas。 图片打码以及如何缓存打码后的图片都是日常极有可能用到的,而刮图也并不是用不到。 下面的demo写的是一个的刮刮乐例程,里面涉及到如何自定义控件属性,以及如何存储处理后的图片,注释很详细,看注释即可。 结果演示: 文件保存后的结果: D原创 2015-09-18 21:15:37 · 2274 阅读 · 2 评论 -
Android自定义View之用观察者模式写自定义监听事件以及常用竖直型字母索引栏的写法
概述:目前,竖直索引栏还是很流行的,微信、美团、手机通讯录等各种常用软件都要用到它。Demo写一个自定义View,利用观察者模式,自定义其中的点击事件。public class MySlider extends View { private int width; private int height; private float x; private float y;原创 2015-09-17 21:10:27 · 2046 阅读 · 0 评论 -
Android图形图像之以Bitmap作为Canvas画布的材料
概述当以Bitmap作为画布材料时,可以绘制出以下各种图案:demo/** * 图形图像处理:在Bitmap上绘画 */public class MyBitMapViewSec extends View { private int width; private int height; private Paint mPaintCircle; private Paint原创 2015-09-17 20:31:48 · 3761 阅读 · 0 评论 -
Android自定义View之图形图像Bitmap
概述:BitMap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。。 在android系统当中,bitmap是图像处理最重要的类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放、对称等操作,并可以指定格式保存图像文件。Bitmap的各种操作:demo首先,原创 2015-09-17 20:14:32 · 3358 阅读 · 0 评论 -
Android自定义View之图形图像工具类Path的特殊用法
概述:没什么好说的。Demo新建一个自定义Viewpublic class MyPathView extends View { private int width; private int height; private Paint mPaint; private Path mPath; private Paint mPaintPoint; priva原创 2015-09-17 19:53:11 · 2239 阅读 · 0 评论 -
Android自定义View之三种流行进度条的写法
概述:利用自定义View的onDraw()方法,可以绘制很多种图形,进度框只是其中之一。Demo这是一个模拟下载的demo。自中央逐渐充满型圆形进度框demo1public class FirstProgressView extends View{ private int width; private int height; private int progress; p原创 2015-09-16 21:05:42 · 2389 阅读 · 0 评论 -
Android之自定义View以及画一个时钟
概述:当Android自带的View满足不了开发者时,自定义View就发挥了很好的作用。 建立一个自定义View,需要继承于View类,并且实现其中的至少一个构造函数和两个方法:onMeasure()和onDraw(); onMeasure()用于设置自定义View的尺寸,onDraw()用于绘制View中的内容。在onDraw()方法中,需要调用画笔绘制图形或文本,绘制的模板时Canvas对象原创 2015-09-16 20:42:37 · 3367 阅读 · 0 评论 -
Android多媒体之调用摄像头和从本地相册中选择图片
概述:这个例程的实现的功能是:拍照,自动压缩图片,以及从本地相册选择图片。 需要加载权限:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>demo:public class MainActivity extends Activity implements View.原创 2015-09-16 20:17:47 · 2579 阅读 · 1 评论 -
Android的视频播放之VideoView与SurfaceView
VideoView概述:这个类其实也是继承了SurfaceView 类,集成度高,开发难度小,只是灵活性差。通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用VideoView的如下两个方法来加载指定的视频setVidePath(String path):加载path文件代表的视频setVideoURI(Uri ur原创 2015-09-15 20:00:23 · 6586 阅读 · 0 评论 -
Android常用控件之SoundPool
概述播放一般较大内存的音乐,可以用MediaPlayer,但实际中,那些小型的音频或(如:提示音)或者对响应速度要求较高的音频就不适合用MediaPlayer,MediaPlayer的响应需要一定时间,而且需要添加线程。SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里如果音效文件过大没有载入完成,我们调用play方法时可能产生严重的后果,这里Android SDK原创 2015-09-15 19:21:51 · 1370 阅读 · 0 评论 -
Android多媒体之音频、视频录制MediaRecorder
概述:MediaRecorder的状态图: Initial:初始状态,当使用new()方法创建一个MediaRecorder对象或者调用了reset()方法时,该MediaRecorder对象处于Initial状态。在设定视频源或者音频源之后将转换为Initialized状态。另外,在除Released状态外的其它状态通过调用reset()方法都可以使MediaRecorder进入该状态。In原创 2015-09-15 15:08:12 · 1603 阅读 · 0 评论 -
Android控件之TimePickerDialog、DatePickerDialog和自定义DialogPopupWindow与NotificationManager
概述TimePickerDialog与DatePickerDialog: 用于调整时间的控件。 自定义dialog: 可以自定义显示的界面布局和内容。 PopupWindow的常用方法有: setWidth()、setHight()、setFocusable()、setContentView()、showAsDropDown()、setBackgroundDrawable()。 Notifi原创 2015-08-30 20:42:32 · 1901 阅读 · 0 评论 -
Android常用控件之ViewPager
概述ViewPager并不在android的官方包中,而在第三方jar包support.V4.jar中。写一个pagerview同样要用到自定义adapter,继承于pagerAdapter。adapter中需要实现四个方法:destroyItem(ViewGroup container, int position, Object object)、getCount()、instantiateItem原创 2015-09-01 17:08:29 · 874 阅读 · 0 评论 -
Android之单线程下载与多线程下载
概述:单线程下载很简单,就是开启一个线程去下载资源再进行本地保存;多线程下载是通过RandomAccessFile(随机文件读写操作类)来设置每个线程读取文件的起始点位置,起始点之间的长度即为该线程需要下载的文件大小下载开始位置:线程id*每条线程下载的数据长度 = ?下载结束位置:(线程id+1)*每条线程下载的数据长度-1=? 这里用的是URLConnection单线程下载与多线程下载publ原创 2015-09-14 19:34:49 · 1749 阅读 · 0 评论 -
Android之实用库xUtils四大模块以及用ViewInject代替findViewById()
概述:DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支持事务,默认关闭; 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名); 支持绑定外键,保存实体时外键关联实体自动保存或更新; 自动加载外键关联实体,支持延时加载; 支持链式原创 2015-09-14 20:07:47 · 4345 阅读 · 1 评论 -
Android之网络通信Volley框架用法
概述:Volley提供的功能简单的讲,提供了如下主要的功能:1、封装了的异步的RESTful 请求API;2、一个优雅和稳健的请求队列;3、一个可扩展的架构,它使开发人员能够实现自定义的请求和响应处理机制;4、能够使用外部HTTP Client库;5、缓存策略;6、自定义的网络图像加载视图(NetworkImageView,ImageLoader等);Volley也有两种加载方式DoGet和DoPo原创 2015-09-14 19:53:23 · 1175 阅读 · 0 评论 -
Android之IM聊天界面的搭建以及gradient渐变色的设置
概述gradient: gradient startColor=”” centerColor=”” endColor=”“; type=”“;其中type可以是:radiu圆形渐变,圆形渐变需要设置gradientRadius;sweep扇形渐变;linear线性渐变(默认),线性渐变可以通过angle设置渐变的角度。 弧形:<?xml version="1.0" encod原创 2015-08-31 19:09:33 · 1656 阅读 · 0 评论