自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 一张图让你彻底搞清Android线程间通信机制

源文件高清大图,可以在新标签页中打开图片,或者保存下来,然后放大看~基本讲述,从Thread A中创建的Handler h对象,在Thread B中使用h来发送消息,实现线程间通信过程中涉及到的类,java方法,native方法,底层实现,和关键点。

2015-04-27 16:11:54 510

原创 Android自定义控件系列九:从源码看Android触摸事件分发机制

Android触摸事件,网上也有很多文章来讲了,今天在这里想使用例子和源码相结合的方式,可能会看的更清晰一些。        在讲例子和源码之前,还是先把结论讲一下,这样可能会比较好,因为很多朋友时间都很宝贵,而研究源码可能会要花费不少时间,可以先初步理解事件的分发机制,等有时间再来慢慢琢磨源码。触摸事件的传递机制:        首先是最外层的viewgroup接

2015-04-27 16:07:54 1874

原创 Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件

在写Android应用的过程之中,经常会遇到这样的情况:界面包含了多个控件,我们希望触摸在界面上的不同滑动动作能被不同的控件所接收,或者在界面不同位置滑动的动作能被不同的控件所接收,换句话说,能否让特定子view响应特定方向的触摸事件?一个典型的例子就是ListView和Header的组合:遇到的问题:        在上图的例子中,会发现一个问题,就是当手

2015-04-27 16:07:41 3475

原创 Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题

上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题。请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/artic

2015-04-27 16:06:42 1308

原创 Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)

自定义view/viewgroup要重写的几个方法:onMeasure(),onLayout(),onDraw()。(不熟悉的话可以查看专栏的前几篇文章:Android自定义控件系列二:自定义开关按钮(一))。        今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSp

2015-04-27 16:04:33 1330

原创 Android自定义控件系列六:自定义ViewGroup(一)实现ViewPager效果

今天我们开始新的Android自定组件旅程,下面一个内容是如何自定义一个ViewGoup,之前我们已经通过几篇博文已经了解了自定义view的基本写法,如果有不了解的同学,可以参看下面专栏中的文章:Android自定义控件。这次同样也是通过一个例子来说明要如何自定义一个ViewGroup,最终目标就是要实现一个类ViewPager功能的ViewGroup。我们先来看看最终效果:

2015-04-27 16:03:33 2226 1

原创 Android自定义控件系列四:自定义开关按钮(三)--- 自定义属性

接之前的:Android自定义控件系列二:自定义开关按钮(一)和Android自定义控件系列三:自定义开关按钮(二)继续,今天要讲的就是如何在自定义控件中使用自定义属性,实际上这里有两种方法,一种是配合XML属性资源文件的方式,另一种是不需要XML资源文件的方式;下面我们分别来看看:一、配合XML属性资源文件来使用自定义属性:那么还是针对我们之前写的自定义控件:开关按钮为例

2015-04-27 16:02:36 903

原创 Android自定义控件系列五:自定义绚丽水波纹效果

今天我们来利用Android自定义控件实现一个比较有趣的效果:滑动水波纹。先来看看最终效果图:图一效果还是很炫的;饭要一口口吃,路要一步步走,这里我们将整个过程分成几步来实现一、实现单击出现水波纹单圈效果:图二照例来说,还是一个自定义控件,这里我们直接让这个控件撑满整个屏幕(对自定义控件不熟悉的可以参看我之前的一篇文章:And

2015-04-27 16:02:31 3540

原创 Android自定义控件系列三:自定义开关按钮(二)

接上一篇自定义开关按钮(一)的内容继续。上一次实现了一个开关按钮的基本功能,即自定义了一个控件,开关按钮,实现了点击切换开关状态的功能。今天我们想在此基础之上,进一步实现触摸拖拽开关滑块来实现开关的功能,还是一样先来看看效果,这里由于要显示拖拽,我打开了开发者选项中的显示触摸操作,会在屏幕上显示一个圆圈表示触摸位置:在这里,我们的主要工作就是在原有代码的基础上,增加一个重写的o

2015-04-27 16:00:38 2102 2

原创 Android自定义控件系列二:自定义开关按钮(一)

这一次我们将会实现一个完整纯粹的自定义控件,而不是像之前的组合控件一样,拿系统的控件来实现;计划分为三部分:自定义控件的基本部分,自定义控件的触摸事件的处理和自定义控件的自定义属性;下面就开始第一部分的编写,本次以一个定义的开关按钮为例,下面就开始吧:先看看效果,一个点击开关按钮,实现点击切换开关状态:为了能够讲解清晰,还是来一些基本的介绍。首先需要明确的就

2015-04-27 15:59:13 1256 1

转载 android权限大全

android权限大全访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在3

2015-04-27 15:45:25 428

原创 Android多线程之图解Handler Looper MessageQueue Message

总结:每个线程中只有一个Looper(主线程默认会创建Looper的实例,子线程需要手动调用Looper.prepare()和Looper.loop()),每个Looper都有一个内部类MessageQueue作为消息传递的队列,而Handler用于处理Message,每个线程可以有多个实例。那么Handler,Looper,MessageQueue是什么时候连接在一起的呢?原来的在线程创

2015-04-21 10:33:06 602

原创 Android源码分析—带你认识不一样的AsyncTask

前言什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计算并且把计算的结果及时更新到UI上,而这些正是Thread+Handler所做的事情,没错,AsyncTask的作用就是简化Thread+Handler,让我们能够通过更少的代码来完成一样的功能,这里,我要说明的是:AsyncTask只是简化

2015-04-20 19:15:09 603

原创 Asynctask解析以及注意事项

说到AsyncTask这个类,好多人其实不太了解。最近看了下代码,把心得分享给大家。    AsyncTask的execute的执行流程为    先调用ThreadPoolExecutor.execute(mFuture);    然后ThreadPoolExecutor.execute(mFuture) 会调用ThreadPoolExecutor.addWorker(mFuture)

2015-04-20 14:56:28 1069

原创 使用AsyncTask时出现doInBackground没有调用的处理方法

故事背景:一个HttpURLConnection的请求没有发送出去,导致failhandler、errorhandler、timeoutHandler没有回调,发现是AsyncTask没有调用doInBackground方法,查找文章,找到解决方法,线程多的话会出现阻塞,貌似只能有4、5个线程,解决方法是不能调用excute方法,调用task.executeOnExecutor(Executors

2015-04-20 14:48:07 3346

原创 WebView属性详解

1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(u

2015-04-13 16:51:58 4047

翻译 一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目

https://github.com/bboyfeiyu/android-tech-frontier#category

2015-04-13 11:47:03 927

原创 编程学习网

http://www.iteedu.com/handset/index.php

2015-04-01 14:07:00 745

原创 Spannable简介

TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。使用步骤:SpannableString spannable = new SpannableString(str);// SpannableStringBuilder span

2015-04-01 14:04:09 513

java web设计

java web设计

2012-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除