Android从零开始
文章平均质量分 85
从基础到进阶讲解Android相关的知识和开发经验
belong to air
时间都是公平的,加油
展开
-
LeafChart(4)-绘制动画曲线图
1. 介绍了解更多请看: LeafChart-实现自己的小型图表库(1) LeafChart-实现自己的小型图表库(2) LeafChart(3)-绘制直方图 LeafChart已经支持曲线图和直方图了,现在想升级一下,比如说来个动画绘制啊。之前使用过HelloChart的曲线图,它的动画效果是这样的本来想借鉴一下动画效果的实现,可是我想要的动画效果不是这样子。先睹为快 我想要的动原创 2016-09-12 10:43:04 · 2050 阅读 · 11 评论 -
LeafChart(3)-绘制直方图
1. 简介前两篇简单介绍了这个自定义图标库。 LeafChart-实现自己的小型图表库(1) LeafChart-实现自己的小型图表库(2) 之前LeafChart只支持曲线图,现在在之前的基础上,添加了直方图。1.1 效果图 1.2 设置直方图宽度边框宽度、颜色是否填充是否有标签标签背景色、弧度2. 实现2.1 类介绍为了更简便的控制直方图的属性,定义直方图类Square,原创 2016-09-12 09:50:09 · 1335 阅读 · 0 评论 -
实现类似新浪微博帖子显示(2)——话题、@好友、表情解析工具类
一、介绍这是新浪微博的一个帖子,刚好包括了话题、表情、@好友三种显示。显示方法上篇已经阐述了,就是使用SpannableString。这篇主要介绍显示这种帖子的解析工具类。二、实现1.字符串表示和对应正则表达式话题用##号括起来表情用[]表示@好友昵称借助正则匹配来解析帖子信息。话题 -> #[^#]+#表情 -> [[^]]+]@好友 -> @好友昵称2.写一个通用方法,对spa原创 2016-09-09 14:55:14 · 3345 阅读 · 1 评论 -
实现类似新浪微博、QQ空间等帖子显示(1)——SpannableString说明
TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,实际应用中用的比较多的地方比如聊天时显示表情啊,朋友圈或社区中话题的显示、@好友显示和点击等等,关键字显示不同颜色……BackgroundColorSpan 背景色ClickableSpan 文本可点击,有点击事件Foreg原创 2016-09-09 11:37:41 · 1190 阅读 · 1 评论 -
Android 仿应用宝下载进度条
一、介绍一个横向进度条下载完成区域有一个滑块不断从左往右滑动(最开始就是被这个吸引的,就想着这个怎么实现的)进度条中间显示当前进度,值得注意的是,进度条文本包含在下载区域中的部分显示为白色点击暂停,进度条颜色改变,进度文本改变二、分析根据以上简单介绍,可以抓住要实现的重难点是上面的第2、3点。 1. 进度条文本包含在下载区域中的部分显示为白色怎么实现?这个和歌词变色的效果是一样的,所以实原创 2016-08-30 10:34:20 · 11439 阅读 · 25 评论 -
自定义圆形图片、可控位置圆角图片
一.原理1.下面的Xfermode子类可以改变这种行为: AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。 PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素XOR操作。 PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制原创 2016-08-23 11:27:39 · 1820 阅读 · 2 评论 -
自定义ViewGroup-自动换行Layout
一、继承ViewGroup需要做的重写onMeasure() 不仅要完成自己的measure过程,还要完成子View的measure过程。重写onLayout() 用来确定子View的位置。重写generateLayoutParams() 当在LinearLayout中写childView的时候,可以写layout_gravity,layout_weight属性;在 Relativ原创 2016-08-18 21:56:55 · 5488 阅读 · 0 评论 -
LeafChart-实现自己的小型图表库(1)
比较优秀的开源图表库有很多,比如MPAndroidChart,HelloCharts… 但是在实际工作中很少能直接使用这些库就能实现项目需求。当然,直接改源码是可以满足的,不过有时候自己写一个可能一劳永逸,随着产品的更新,需求难免会改动,自己写的东西总会好改一点。最近项目中就有一个统计表,为了省事,直接用了HelloCharts,刚开始主要是为了把功能实现,到后来功能是实现了,UI就难改成需要的了。原创 2016-07-17 11:55:01 · 1492 阅读 · 0 评论 -
LeafChart-实现自己的小型图表库(2)
一. 设计上次写的七日化利率表设计很粗糙,也没有体现面向对象的思想。数据处理都在控件中,而且表格列数比较固定,对于数据和列数不匹配的情况,只能从左向右依次显示数据。另外扩展性很差。根据图表的属性,分别抽象出坐标轴、坐标刻度、点、线等类。所以在使用的时候初始化这些数据就可以控制图表的展示。抽象出折线统计图和条形统计图公共部分AbsLeafChart,这个类主要处理了控件的有关尺寸、初始化坐标轴和原创 2016-07-26 21:26:32 · 2165 阅读 · 6 评论 -
ListView异步加载图片--图片缓存和错位问题解决方案
问题1: 加载太多的图片很容易造成OOM异常。一、图片缓存方法1:使用二级缓存 ->自己维护一个缓存区 只要有足够的内存,就一直保持对象,直到发现内存吃紧且没有Strong Ref时才回收对象。 所以可以这么做:map里面的键是用来放图片地址的,既可以是网络上的图片地址,也可以SDcard上的图片地址, map里面的值里面放的是持有软引用的Bitmap.private Map<St原创 2015-10-11 19:28:33 · 4940 阅读 · 5 评论 -
ViewPager使用详解1
一、简介1.特点:可以左右滑动的控件,需要PagerAdapter配合使用,由v4包提供 类全名: android.support.v4.view.ViewPager2.作用:ViewPager作用主要是能使界面左右滑动。比如最常用的使用是做一个引导界面;多张图片的预览或自动变换的图片展示(如淘宝首页面上的广告);viewpager还可以结合fragment作为主界面框架(如微信主界面)。。。3.原创 2015-09-19 23:26:37 · 2907 阅读 · 2 评论 -
从源码角度看Handler原理
在Android中,有一个规定就是除了主线程,其他线程不能操作UI视图,因为不这样做的话会出现线程不安全问题。但还有一个规定UI线程在执行一个操作如果5秒内没有响应就会包ANR错误。所以UI线程中不允许访问网络这样的耗时操作,那么问题来了,子线程执行耗时操作,比如从网络获取图片,但子线程不能更新UI,而主线程能更新UI,但不能去下载图片。这样handler消息处理机制就出现了。1. Handler原创 2015-09-17 23:36:38 · 1149 阅读 · 3 评论 -
Android四大组件-ContentProvider
ContentProvider:内容提供者ContentProvider简介: 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpre原创 2015-09-11 23:27:59 · 3660 阅读 · 7 评论 -
Fragment生命周期和使用小结
Fragment: 碎片,是一种可以嵌在活动中的UI片段. 1.静态:在布局文件定义一个 <fragment android:id="@+id/fragment1" android:name="com.example.gp08_day23_fragment2.fragment.TestFragment" android:layout_width="wra原创 2015-09-10 00:09:33 · 848 阅读 · 2 评论 -
Intent使用小结
一、Intent简介:Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。二、原创 2015-09-03 08:23:02 · 888 阅读 · 0 评论 -
Android四大基本组件-Service详解
一、官方文档Class Overview A Service is an application component representing either an application’s desire to perform a longer-running operation while not interacting with the user or to supply functiona翻译 2015-08-30 13:30:57 · 1689 阅读 · 1 评论 -
Android-Activity的四状态、七生命周期、和四启动模式
一、四大基本组件简介: Android四大基本组件:Activity、Service、Content Provider、Broadcast Receiver Activity:活动视图 一个负责与用户交互的显示界面的组件。 Service:服务:一个没有界面、运行在后台的服务。 Content Provider:内容提供者,一个应用程序可以使用Content Provider来共享自己的数原创 2015-08-28 19:31:46 · 7778 阅读 · 3 评论 -
Android系统架构、JVM和DalvikVM的区别
一、系统框架 1.Anroid大致分为四层结构,五块区域 1)应用程序层(Applications) 所有安装在手机上的应用程序都属于这一层。 2)应用程序框架(Application Framework) 提供大量的API供开发人员使用,Android自带的一些核心应用就是使用这些API完成的。 3)函数库(Libraries) —Surface Manager:管理对显示子系统的访原创 2015-08-28 19:02:49 · 3342 阅读 · 0 评论