常用类
文章平均质量分 78
飞鸟青崖
这个作者很懒,什么都没留下…
展开
-
TextView入门
TextView常用方法 getCompoundPaddingLeft()与getPaddingLeft():当textview设置了drawableLeft等属性后两者有区别,前者指文字距离view左边距离,后者指图片距离view左边距离。如下:其中最上面设置的是getCompoundPaddingLeft返回值,下面设置的是getPaddingLeft返回值。原创 2015-07-31 22:43:56 · 931 阅读 · 0 评论 -
Drawable入门
理解一个drawable就是一个原创 2014-11-06 18:19:30 · 1529 阅读 · 0 评论 -
GestureDetector与ScaleGestureDetector入门
概述: 该类主要是用于识别一些手势,原创 2014-09-26 16:14:45 · 15406 阅读 · 0 评论 -
MotionEvent
参考:http://www.cnblogs.com/akira90/archive/2013/03/10/2952886.html原创 2014-06-03 22:51:28 · 668 阅读 · 0 评论 -
RecyclerView及与其相关的类
ItemDecoration 允许对RecyclerView添加特殊的图案或者使item发生偏移。有以下三个方法: onDraw():为RecyclerView添加一些额外的修饰,该方法会在item绘制之前进行调用。也就是说它绘制的内容可能会被item给覆盖住——如果绘制在item的空格处就不会被挡住。 onDrawOver():基本上原创 2016-04-22 18:09:20 · 9275 阅读 · 0 评论 -
VectorDrawable入门
基础 api21以后新添加的一个api,用于定义矢量图形。矢量图形可以定义在xml文件中,其根结点为。<vector>原创 2015-10-20 15:23:07 · 2501 阅读 · 0 评论 -
RemoteViews入门
基础 它主要用来跨进程显示View的。如Notification,AppWidget等。常用方法 RemoteViews是运行在别的进程中,对内部子View的更新都是通过一系列setXX方法进行的。这些方法并不是立即更新界面,而是会封装成一个个的Action,然后将这些Action一起传递到别的进程中。在别的进程中,填充完整个界面之后,会调用这些Action原创 2016-05-01 13:00:56 · 319 阅读 · 0 评论 -
Fragment基本使用(二)
概述 另有一篇关于fragment的在:http://blog.csdn.net/u010410408/article/details/21039089通信activity到fragment分两种情况。activity启动fragment 通过fragment的Fragment.setArguments()即可。在Fragment中,可以通过ge原创 2014-12-05 16:19:27 · 913 阅读 · 0 评论 -
Notification使用说明
参考:http://www.cnblogs.com/plokmju/p/android_Notification.html与AlertDialog的创建一样,都需要通过一个内部类Builder来创建并设置其中的一些信息。但Notification必须通过系统服务NotificationManager来发送或者取消。如:manager = (NotificationManager)原创 2014-03-27 11:20:56 · 719 阅读 · 0 评论 -
MeasureSpec与自定义属性
自定义属性原创 2014-07-23 17:07:29 · 553 阅读 · 0 评论 -
touch事件(二)
本文主要分析dispatchTouchEvent(),从它的源码上看原创 2014-11-19 12:05:05 · 548 阅读 · 0 评论 -
EditText入门
常用属性 digits:规定edittext只能接收的字符。如参数为0123,那么edittext只能显示0,1,2,3别的字符无法显示。原创 2015-10-30 15:28:31 · 449 阅读 · 0 评论 -
ColorFilter与ColorMatrix
ColorFilterColorMatrixColorFilter 该类内部引用的有一个ColorMatrix对象,它的主要工作也是通过ColorMatrix完成的。而且主要工作原理也可以看ColorMatrix类的注释。示例如下: protected void onDraw(Canvas canvas) { super.onDraw(canvas原创 2015-10-23 11:48:28 · 1707 阅读 · 0 评论 -
ViewStub
参考 http://blog.csdn.net/hitlion2008/article/details/6737537。概述 ViewStub是一种不可视,并且大小为0的视图,可以延迟到运行时填充(inflate)布局资源。当ViewStub被设置为可视或者inflate()被调用后,就会填充布局资源,然后ViewStub便会被填充的视图替代。原创 2016-01-27 13:47:24 · 1189 阅读 · 0 评论 -
SpannableString
兼容api 如果在低版本上使用到了新版本的api,有两种方法:第一判断当前系统的api版本,只有满足调用新api的最低版本时才调用;第二种通过反射,如果获取不到新api中的方法,就意味着当前没办法调用新api,就需要通过旧api进行代替。例如:新版本的SharedPreferences.Editor提供了一个apply()方法,可以通过以下的方式进行判断: private v原创 2015-01-19 11:09:33 · 786 阅读 · 0 评论 -
属性动画
简介: andreoidk原创 2014-07-26 15:17:56 · 627 阅读 · 0 评论 -
AsyncTask入门
构造方法 在子线程中执行操作,并在主线程中处理操作结果。 public AsyncTask() { mWorker = new WorkerRunnable() {//WorkerRunnable实现了Callback接口 public Result call() throws Exception {原创 2016-05-07 23:55:54 · 1093 阅读 · 0 评论 -
InputConnection
基本概念 android中,输入法与接收输入的一般是两个单独的app。而InputConnection就是连接两个app的桥梁——输入法提供用户选择的字符,然后通过InputConnection交由接收app显示。 由于InputConnection是在文本显示之前进行调用,因此可以通过重写其中的方法修改要显示的内容。常用方法 sendKe原创 2017-07-27 15:03:45 · 5301 阅读 · 0 评论 -
FlexboxLayout
基础 参考 google出的android端流式布局。属性说明flexDirection item的方向。row:水平;column:垂直。row_reverse:从最右端开始放入item,先放入的在最后,后放入的在前。column_reverse:与row_reverse类似。flexWrap 决定fle原创 2017-06-08 17:22:32 · 997 阅读 · 0 评论 -
LayoutInflater
LayoutInflater 参考:原理基础: 通过分析它的inflater()可知: 1,如果要填充的布局以marge为根结点,那么第二个参数不能为null,并且第三个参数为true。 2,如果第二个参数为null,或者第三个参数为false,那么返回的就是填充后的布局对应的view,否则返回的是root。自定义原创 2015-08-30 13:37:53 · 920 阅读 · 0 评论 -
webview
参考:http://developer.android.com/guide/webapps/webview.htmlwebview就是一个组件,可以和textview一样使用。可以调用loadUrl("http://www.baidu.com")进行加载指定了url的网页。当加载一个界面后,点击其中的链接,会调用系统的浏览器进行访问。如果想要用自己的webview访问,可以设置webvie原创 2013-12-03 17:27:49 · 1032 阅读 · 0 评论 -
touch事件与MotionEvent(一)
1,onInterceptTouchEvent()。如果返回true,该事件就不会传递给子View,而是调用该View中的onTouchEvent()方法。返回false。会将点击事件传递给子View。如果子View中有onInterceptTouchEvent()就会执行它,它的返回值的处理方式与父View一样;如果子View中没有onInterceptTouchEvent(),就会直接执行on原创 2014-03-13 11:32:54 · 885 阅读 · 0 评论 -
View入门
View概述 对于一个view,他应该有两个位置:一个是显示位置(即我们人眼看到的位置),一个是点击位置(即接收用户点击事件的位置)。 在初始化完成后,两个位置是重合的,因此“所见即所点”。但,当调用了scrollTo(),scrollBy()或者tweens动画后,所见已经不和所点重合:所见位置发现变化,但所点还在原地。这也是属性动画和tweens动画的区原创 2016-04-27 17:02:39 · 1949 阅读 · 0 评论 -
SparseArray
SparseArray基础 Java的HashMap使用的是数组+链表的实现结构,无论有没有是否添加数据,都会分配一个数组(该数组用于存放链表的头元素)。这在某种程度上浪费了一部分的内存空间,而且HashMap的key,value必须是Object,所以对于基本数据类型来说,在存储到HashMap时必须经过一个自动装箱的过程,这又浪费了一部分性能。这算是HashMap的缺点。原创 2016-06-01 23:12:14 · 1916 阅读 · 0 评论 -
style与theme
style 在布局中,每一个组件都会设置相应的属性。有些时候不同的组件会具有相同的属性和属性值,将这些相同的属性和属性值单独抽取出来组成的一组属性集合便是样式。在各个组件中可通过style属性引用已经定义好的样式(style)。样式通常放在res/values/styles.xml中,使用元素进行定义。 具体使用,略。theme 主题(th原创 2015-10-04 15:45:41 · 484 阅读 · 0 评论 -
Matrix与graphics.Camera的使用
对图片的操作中,主要是通过Matrix类来实现的。可以进行平移,旋转和缩放。主要使用步骤:1,将一个图片转换成Bitmap。2,创建一个Canvas3,将得到的bitmap画在canvas上,在画的过程中设置matrix。示例://图片缩放 private Bitmap scaleBitmap(){ //将要展示的图片解析成bitmap after = Bitma原创 2014-03-28 10:46:33 · 1439 阅读 · 0 评论 -
Path,PathMeasure与贝塞尔曲线
常用方法 moveTo():设置本次path的起点。 lineTo():通过下线连接上个点与指定点。如果没有通过moveTo指定起始点,那么起始点就是(0,0)。 arcTo():为当前的path添加弧线。弧线的起点通过直接连接到path的上一个点,弧线的终点连接到path的下一个点。如下:原创 2015-10-10 15:53:52 · 1104 阅读 · 0 评论 -
Canvas与Region.Op入门
drawText():画文字 canvas.drawText("gaf", 60, 60, paint);//paint是默认的设置 canvas.drawLine(0, 0, 60, 60, paint); canvas.drawLine(0, 60, 250, 60, paint); canvas.drawLine(60,0,60,250,paint);图为:原创 2013-12-15 12:06:00 · 1466 阅读 · 0 评论 -
Xfermode入门
基础 Xfermode一共有三个子类AvoidXfermode,PixelXorXfermode及PorterDuffXfermode。AvoidXfermode 不支持硬件加速,已过时。构造方法如下:public AvoidXfermode(int opColor, int tolerance, Mode mode)。第一参数是目标颜色值,第二原创 2015-10-23 11:35:08 · 1202 阅读 · 0 评论 -
hardware.Camera及SurfaceView
使用Camera进行拍照,在预览图上有边框,拍摄的图片是边框中的部分。原理:Camera实现拍照,必须使用一个SurfaceView做为屏幕,用来显示预览图片。而边框可以使用另一个Surfaceview,两个SurfaceView采用帧布局。把底部的SurfaceView设置为Camera的预览区域,顶部是用来进行边框显示。图为:布局为:<LinearLayout xmln原创 2013-12-01 17:41:33 · 1190 阅读 · 0 评论 -
常用类目录
A Actionbar(一)与Actionbar(二) AlarmManager AnimationDrawable(帧动画) Animation(Tween动画) AlertDialog ArrayAdapterB BroadcastReceiver原创 2015-10-22 14:59:52 · 701 阅读 · 0 评论 -
Dialog基本使用
创建与显示:是通过AlertDialog.Builder来完成的。如:AlertDialog.Builder builder = new AlertDialog.Builder( MainActivity.this); builder.create().show();这样就可以显示出一个对话框。AlertDialog.Builder中的方法:大部分都是把原创 2014-03-27 16:36:08 · 1002 阅读 · 0 评论 -
Loader,AsyncTaskLoader,CursorLoader与LoaderManager
概述 在实际项目,一般很少直接在主线程中进行数据库操作。为解决该问题可以使用AsyncQueryHandler,该类中有一系列的startXXX方法,可以在子线程对数据库进行CRUD操作。但如果我们加载的数据不在数据库中时,AsyncQueryHandler就显得无能为力了。此时可以使用Loader进行操作。原创 2014-12-25 18:37:02 · 1290 阅读 · 0 评论 -
Handler与HandlerThread
概述: 在线程之间通信时,通常会使用到Handler。与之相关联的类有:Message,Looper,MessageQueue。简单讲它们的作用分别为: Message:Handler接收和处理的对象。 Looper:每一个线程只能拥有一个Looper对象。它的loop()方法会从MessageQueue中读取消息,并且将读到的消息发送给该消息原创 2014-12-18 17:07:39 · 868 阅读 · 0 评论 -
ExpandableListView
基础 它本质上仍旧是ListView,只不过将item分成group和child两种(BaseAdapter.getViewTypeCount()返回的是2).之所以会出现展开效果,是因为它调用了adapter中的notifyDataSetChanged(),刷新了ListView整个条目的个数,所以整个界面便显现出展开效果了。 由于它本质上是ListView,原创 2016-01-27 13:38:15 · 1092 阅读 · 0 评论 -
Animation入门
官方文档:http://developer.android.com/guide/topics/resources/animation-resource.html#View帧动画使用到的api是AnimationDrawable使用步骤:1,在res/drawable建立xml文件,用于定义要播放的图片和图片显示的时间。如frame_anim.xml:<animation-l原创 2014-03-29 11:10:12 · 1502 阅读 · 0 评论 -
Scroller入门
基础常用方法 构造函数,源码如下: public Scroller(Context context, Interpolator interpolator, boolean flywheel) { mFinished = true; if (interpolator == null) { mInterpolato原创 2015-12-29 18:25:10 · 543 阅读 · 0 评论 -
AlarmManager的使用与几个获取时间的操作
可以认为是一个定时器,会到指定的时间时执行相应的操作。aqb原创 2014-04-14 09:52:43 · 2070 阅读 · 0 评论 -
PopupWindow入门
View popupView = View.inflate(QueryMobileActivity.this, R.layout.popupwindow, null); PopupWindow mPopupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP原创 2014-03-07 10:58:07 · 701 阅读 · 0 评论 -
Actionbar入门(二)
溢出菜单 在别的一些应用中,经常看到在actionbar的最右边会出现一竖着排列的三个点(把有些功能选项给折叠起来了)里面放着一些操作选项,这被折叠起来的选项叫做溢出菜单(action overflow)。图如下: 由于actionbar的长度是有限的。当空间不够时,如果手机没有物理菜单键,多余的action button(上图中有2)会自动收缩到a原创 2015-03-04 14:34:10 · 903 阅读 · 0 评论