![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 63
逆转星河
我是一个音乐猿。
展开
-
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 · 3695 阅读 · 0 评论 -
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 · 1990 阅读 · 0 评论 -
Android图形图像之自定义控件属性(demo:刮刮乐与打码以及图片的缓存)
概述:此部分内容涉及到android的自定义View、自定义属性和Android图形图像处理的综合应用:Bitmap、Path、Matrix、Canvas。 图片打码以及如何缓存打码后的图片都是日常极有可能用到的,而刮图也并不是用不到。 下面的demo写的是一个的刮刮乐例程,里面涉及到如何自定义控件属性,以及如何存储处理后的图片,注释很详细,看注释即可。 结果演示: 文件保存后的结果: D原创 2015-09-18 21:15:37 · 2225 阅读 · 2 评论 -
Android自定义View之图形图像(模仿360的刷新球自定义一个SeekBar)
概述:360安全卫士的那个刷新球(姑且叫它刷新球,因为真的不知道叫什么好,不是dota里的刷新球!!),里面像住了水一样,生动可爱,看似简单,写起来不太简单,本例程只是实现了它的部分功能而已,说实话,跟360的刷新球比起来差距还是很大,我这个长得有点挫。 本历程需要用到的知识包括:android的自定义View,自定义canvas、path、Bitmap、Handler先结果演示: ...原创 2015-09-18 21:43:36 · 1927 阅读 · 0 评论 -
Android动画控件之Animation
概述:android的动画效果包括:移动,渐变透明度,旋转,缩放。 实现动画的方式有两种:在java代码中动态实现,在xml中静态实现。demo动态实现: /* 动画的透明度渐变 */ AlphaAnimation alphaAnimation = new AlphaAnimation(1f,0);//透明度从1到0 alp...原创 2015-09-20 20:06:03 · 1491 阅读 · 0 评论 -
Android动画绘制者Animator与LayoutAnimator
概述:与Android的Animation控件相比,Animator与LayoutAnimator处理后的控件完成动画效果后不会回复原状。Animator只使用与View对象,和Animation类似,Animator也能通过xml定义,需要用objectAnimator来定义各种动画效果。 LayoutView常用于给控件的添加删除增加一些特殊效果,如淡入淡出等。DemoAnimatorAnim原创 2015-09-20 20:33:13 · 1909 阅读 · 0 评论 -
Android自定义SurfaceView与传感器的并用(实现自绘的指北针)
概述:SurfaceView是Android中极为重要的绘图容器,SurfaceView的图像绘制是放在主线程之外的另一个线程中完成的。除了绘图,SurfaceView还能播放视频。实现方法:实现Android的自定义SurfaceView,需要新建一个继承于SurfaceView的类,并且重写至少一种构造器,在构造器中,需要同过getHolder()方法得到一个SurfaceViewHolder类原创 2015-09-21 22:37:03 · 2760 阅读 · 0 评论 -
Android的事件传递(仿下拉刷新)
概述:Android事件构成: 在Android中,事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作。所有这些都构成了Android中的事件响应。总的来说,所有的事件都由如下三个部分作为基础:按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP)跟touch事件相关的3个方法:public boolean dispa原创 2015-09-24 19:24:23 · 2159 阅读 · 1 评论 -
Android之手势的识别与处理(双击onDoubleTap、滑动onFling、拖动onScroll)
概述:一般情况下,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,但是这个方法太过简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦(因为我们要自己根据用户触摸的轨迹去判断是什么手势)。 Android sdk给我们提供了GestureDetect...原创 2015-09-24 19:59:18 · 18924 阅读 · 3 评论 -
Android自定义view之绘制实用型的柱形图和折线图
概述:前几天突然需要做两种图表——柱形图、折线图,于是第一反应是先看看网上有没有现成的,结果有是有,但都不是我想要的,而且大多数不是用纯android代码完成,HTML5似乎完成这类工作要容易得多,但是我本人并不会HTML5,只能黯然神伤,掩面流泪,最终只能自己敲代码了。**知识点:**android自定义view、图形图像、Fragment、MVC模式。Demo界面是模仿红圈营销搭建的折线图:原创 2015-10-10 08:57:19 · 4067 阅读 · 10 评论 -
Android自定义View之图形图像Bitmap
概述:BitMap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。。 在android系统当中,bitmap是图像处理最重要的类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放、对称等操作,并可以指定格式保存图像文件。Bitmap的各种操作:demo首先,原创 2015-09-17 20:14:32 · 3292 阅读 · 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 · 2191 阅读 · 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 · 2338 阅读 · 0 评论 -
Android之服务Service和它的CP们(BroadcastReceiver、Messenger、AIDL)详解
概述Service,乃Android四大组件之一,除Activity之外最常用的组件,经常配合Activity完成各项工作,是Activity的好基友。但同时,Service也有很多其它的CP,搭配使用干活不累。内容1、ServiceService被启动后,可以长时间在后台执行。每个服务类必须有一个相应的申明,在其AndroidManifest文件中。服务有两种开启的状...原创 2018-03-29 18:01:50 · 1215 阅读 · 0 评论 -
Handler工作原理及源码分析
转载请注明出处: 本文出自:NiZhuanXingHe的博客概述Handler对于android开发人员来说,甚至耳熟能详,不管是什么样的项目,大到陈年老项目,小到炫技小项目,你几乎都离不开它。 通过源码可知,一个Handler允许你去发送、处理消息和可运行对象,而这些消息和可被捕获的对象关联着一个消息队列,每个线程都会对应一个消息队列,而每个Handler实例...原创 2018-03-18 21:49:02 · 404 阅读 · 0 评论 -
gradle和groovy的甜蜜故事
这篇博文介绍了何通过android studio执行groovy编写的脚本,看之前需要了解groovy基本语法和gradle的概念。1、新建一个android工程GradleLearn,在其根目录下build.gradle文件中添加以下代码://groovy testtask testGroovy { doLast { println "start exe...原创 2017-10-31 17:00:03 · 644 阅读 · 0 评论 -
Android之自制一个(以假乱真的)山寨的手机QQ
概述当前中国最主流的及时通讯工具之一腾讯QQ,经历过这么多年的更迭,其代码繁杂度可想而知,本人闲着没事,就仿造手机QQ的布局写了个山寨货,只是布局,并没有实现那些繁杂的功能,不然,我一个人也必然做不到演示结果: 代码如下:主活动: 主活动中用一个fragment的adapter加载三个fragment,这三个fragment分别显示演示结果中的三个页面。然后用一个ViewPager(v4包的)加原创 2015-09-10 20:09:29 · 4654 阅读 · 10 评论 -
Android之实用库xUtils四大模块以及用ViewInject代替findViewById()
概述:DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支持事务,默认关闭; 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名); 支持绑定外键,保存实体时外键关联实体自动保存或更新; 自动加载外键关联实体,支持延时加载; 支持链式原创 2015-09-14 20:07:47 · 4275 阅读 · 1 评论 -
Android多媒体之音频、视频录制MediaRecorder
概述:MediaRecorder的状态图: Initial:初始状态,当使用new()方法创建一个MediaRecorder对象或者调用了reset()方法时,该MediaRecorder对象处于Initial状态。在设定视频源或者音频源之后将转换为Initialized状态。另外,在除Released状态外的其它状态通过调用reset()方法都可以使MediaRecorder进入该状态。In原创 2015-09-15 15:08:12 · 1536 阅读 · 0 评论 -
Android常用控件之SoundPool
概述播放一般较大内存的音乐,可以用MediaPlayer,但实际中,那些小型的音频或(如:提示音)或者对响应速度要求较高的音频就不适合用MediaPlayer,MediaPlayer的响应需要一定时间,而且需要添加线程。SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里如果音效文件过大没有载入完成,我们调用play方法时可能产生严重的后果,这里Android SDK原创 2015-09-15 19:21:51 · 1318 阅读 · 0 评论 -
Android的视频播放之VideoView与SurfaceView
VideoView概述:这个类其实也是继承了SurfaceView 类,集成度高,开发难度小,只是灵活性差。通过VideoView播放视频的步骤:1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件2、调用VideoView的如下两个方法来加载指定的视频setVidePath(String path):加载path文件代表的视频setVideoURI(Uri ur原创 2015-09-15 20:00:23 · 6349 阅读 · 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 · 2501 阅读 · 1 评论 -
Android之自定义View以及画一个时钟
概述:当Android自带的View满足不了开发者时,自定义View就发挥了很好的作用。 建立一个自定义View,需要继承于View类,并且实现其中的至少一个构造函数和两个方法:onMeasure()和onDraw(); onMeasure()用于设置自定义View的尺寸,onDraw()用于绘制View中的内容。在onDraw()方法中,需要调用画笔绘制图形或文本,绘制的模板时Canvas对象原创 2015-09-16 20:42:37 · 3312 阅读 · 0 评论 -
Android自定义ViewGroup之子控件的自动换行和添加删除
概述:常用的布局类型并不能满足所有需求,这时就会用到ViewGroup。ViewGroup作为一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width)、高度(layout_height)、对齐方式(layout_gravity)等;当然还有margin等;于是乎,ViewGroup需要做的事情是:原创 2015-10-13 11:31:43 · 4166 阅读 · 4 评论 -
Android自定义控件之滑动解锁九宫格
概述:滑动解锁九宫格的分析: 1、需要自定义控件; 2、需要重写事件onTouchEvent(); 3、需要给九个点设置序号和坐标,这里用Map类就行; 4、需要判断是否到滑到过九点之一,并存储滑到过的点的序号,而且需要一个方法可以返回它们,这里用List类就行;滑动解锁当前还是比较流行的,今天写了个简单的滑动解锁九宫格的例程,分享出来让初学者看看。我的是这样的: Demo首先,自定义一个原创 2015-10-14 19:50:00 · 2746 阅读 · 2 评论 -
Android自定义控件之美观的实用型统计表的制作
概述绘制统计表,势必要用到自定义控件,一个统计表,看起来单元项很多,但实际上做起来并不复杂。要传递数据进来,用集合类最好。要确定每个表格单元的宽和高,并根据数据数目和表格每列的高来决定自定义控件的高。绘制表格线和表格单元背景的颜色,同时,绘制每个表格单元的文本。先看看效果:Demo自定义一个控件:/** * Created by Administ...原创 2015-10-21 18:36:14 · 6228 阅读 · 2 评论 -
android中的Activity和Intent
概述1.android的四大组件分别是:Activity、service、ContentProvider、Broadcast。 2.Intent:android中进行通讯的工具,类似java中的包裹。 3.Intent的五个常用方法是: b)、component:从一个活动中启动另一个活动。 a)、action: setAction(XXX)-闯入某种ACT原创 2015-08-19 19:56:49 · 644 阅读 · 0 评论 -
Android的进程Hnadler与AsyncTask
概述:不能在非UI线程中操完成UI线程中的操作; 服务必须在manifests中注册。代码进程完成一个倒计时public class TestThread extends Activity { private Button mTimeCountButton; private int count; private static final int TIME_DESC = 0x原创 2015-09-09 20:03:52 · 738 阅读 · 0 评论 -
Android四大主件之服务Service
概述:服务是需要注册的,它会在系统后台运行,即使是停止一个活动,服务仍会运行 另外,活动不宜进行耗时的操作,耗时操作应该放在一个单独的线程里。 启动服务要用到Intent。代码:public class TestServiceActivity extends Activity implements View.OnClickListener{ private Button mButtonSta原创 2015-09-08 18:52:51 · 583 阅读 · 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 · 1579 阅读 · 0 评论 -
Android控件之TimePickerDialog、DatePickerDialog和自定义DialogPopupWindow与NotificationManager
概述TimePickerDialog与DatePickerDialog: 用于调整时间的控件。 自定义dialog: 可以自定义显示的界面布局和内容。 PopupWindow的常用方法有: setWidth()、setHight()、setFocusable()、setContentView()、showAsDropDown()、setBackgroundDrawable()。 Notifi原创 2015-08-30 20:42:32 · 1820 阅读 · 0 评论 -
Android常用控件之Toast与AlertDialog的常规用法和自定义用法
概述1、Toast: a、用来显示信息 ;b、没有焦点,显示时间有限;c、不会打断用户当前的操作 常用方法: show():用于显示信息。 setGravity(): #param:int gravity,int xOffset,int yOffset;用于设置信息的显示的位置。 setText():用于显示信息的文本,可以传入Spanner类的内容。原创 2015-08-27 19:19:47 · 1132 阅读 · 0 评论 -
Android常用控件之GridView的蒙板用处和写法
内容GridView常用语显示照片墙,例如上传图片时当选中一个图片时,会出现一些特殊效果,此时要用到checkBox和蒙板。 布局文件,必须将GridView放在RelativeLayout或FrameLayout,此处用的是最常用的RelativeLayout<LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro原创 2015-08-27 19:43:56 · 1800 阅读 · 1 评论 -
Android常用控件之GridView与ExpandableListView的用法
概述1、GridView:与ListView相比,可以显示多列,xml布局时其属性numColumns可以设置显示的列数。 2、ExpandableListView:与ListView相比,可以让每一列单元都拥有子列表。内容GridView显示3列和多行的图片以及名称 布局<LinearLayout xmlns:android="http://schemas.android.com/apk/re原创 2015-08-26 20:11:35 · 1106 阅读 · 0 评论 -
Android的重要控件ListView的诸多问题处理方案
知识概要ListView是android中常用控件之一,当ListView和CheckBox、Button等控件一起用时,会出现很多问题,如ListView条目不可选,ListView内存溢出、全选与反选等。 1、内容利用ListView创建一个菜单创建一个Fruit类public class Fruit { private String name; private int img原创 2015-08-25 20:40:14 · 785 阅读 · 0 评论 -
Android常用控件之AutoCompleteTextView、Spinner
概述1、AutoCompleteTextView:相对于普通的TextView,AutoCompleteTextView的特点是可以自动提示文本,它可以通过SetAdapter()方法加载适配器。 2、Spinner:一种下拉列表。知识内容AutoCompletedTextView布局文件<RelativeLayout xmlns:android="http://schemas.android.c原创 2015-08-26 19:35:27 · 1037 阅读 · 0 评论 -
8.18android工程的结构及其五大布局
HelloWorld一个android(eclipse)工程的结构 src:源文件放置地点。 gen:该目录中的内容是自动生成的,主要有一个R.java文件,在项目中添加的任何资源都会在其中生成一个相应资源的id。 assets:主要用于存放一些随机程序打包的文件,也可以存放WebView。 bin:里面包含编译生成的可执行文件。 libs:第三方jar包。 res:存放在项目中使用到的原创 2015-08-17 18:43:08 · 907 阅读 · 0 评论 -
Android之多媒体MediaPlayer(一个简单的音乐播放器)
音乐播放器MediaPlayer: 利用Environment.getExternalStorageDirectory()方法得到sdcard路径,然后用new File(得到的sdcard父路径,子路径)得到音乐存放路径。用File[]型的数组存放得到的所有音乐文件,接着就可以播放。 用MediaPlay需要在manifests中申请权限android.permission.R原创 2015-09-09 20:13:16 · 1771 阅读 · 0 评论 -
Android常用控件之碎片Fragment
概述碎片是一种可以嵌入到活动中的UI片段,用于解决分辨率的差异性问题,所用的包为android.support.v4.app知识点Fragment的生命周期 与Activity生命周期的对比: 如何动态实现碎片首先布局activity_main<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-09-06 19:48:37 · 1107 阅读 · 0 评论 -
Android之3.5版的百度地图的定位、覆盖物实现以及覆盖物的点击事件
概述前段时间,在用到新版(3.5.0版)百度地图时,在地图覆盖物实现以及覆盖物点击事件的添加部分遇到点挫折,发现网上很多的资料写得都不够详细,所以我就想写一个有关从地图定位到地图覆盖物及其点击事件的实现的博文。效果图:覆盖物及其点击事件:自定义缩放控件的实现效果(注意图中的加减按钮):实现此例程之前要做的的步骤:1、申请Baidu API_KEY;...原创 2015-10-27 21:21:59 · 3825 阅读 · 1 评论