自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持剑

深度,想法,执行力

  • 博客(17)
  • 资源 (26)
  • 收藏
  • 关注

原创 Android中关于矩阵(Matrix)前乘后乘的一些认识

在上一篇文章中,我们讲到,在Android中,scale(缩放),rotation(旋转)和 translation(平移)都是以矩阵(Matrix)的形式定义的,实际上在图形学中,这些平面图形的变换都是以矩阵的形式存在的。先来回顾一下,下面,左中右分别scale(缩放),rotation(旋转)和 translation(平移)在Android中的矩阵表示:...我们可以看到,pre是拿当前的矩阵乘以T,而post是拿T来乘以当前的矩阵,(矩阵的乘法是不满足交换率的,所以这两种乘法的结果是不一样的)

2014-01-28 00:15:12 15055 4

原创 2D平面中关于矩阵(Matrix)跟图形变换的讲解

在二维平面上,常用的有以下三种基本的图形变化:1)Translation2)Scale3)Rotation在Android的开发中,我们也经常会用到这样的一些图形变换,尤其是我们在写自定义View时,更是会经常利用到Matrix来实现一些效果,比如平移,旋转,缩放及切变等,相信很多朋友应该很想知道,矩阵实现这种变换的原理是什么,什么是矩阵的左乘右乘,它们在实现效果上有什么差别吗?今天就让我们一起来看一下吧。

2014-01-27 00:42:43 37287 6

原创 Android动画学习Demo(3) 关于Property Animation的TimeInpolator和TypeEvaluator

Property Animation中最重要,最基础的一个类就是ValueAnimator了。Property Animation利用ValueAnimator来跟踪记录对象属性已经变化了多长时间及当前这个时间点的值。...总的来说,就是三步:1)将时间的消逝 t 和时长 duration 的比例fraction,传给interpolator 算出一个新的fractionNew。2)将这个fractionNew传给TypeEvaluator,算出对应属性的当前值animatedValue。3)根据

2014-01-26 20:18:39 9029 2

原创 Android动画学习Demo(2) 关于Property Animation的用法及总结

在上一篇文章中,我们知道了关于View Animation的用法及其一些局限性,而在3.0之后,Android 引入了Property Animation 的框架,弥补了View Animation的一些短板,使得我们在Android中能够更好地借助框架去实现更复杂更好的动画效果,从而创造出漂亮的用户体验。...这一篇文章我们先来了解 一下Property Animation的一些用法,在知其然的基础上,下一篇文章我们再来讨论Property Animation的机制原理。首先我们要先了解关于View

2014-01-24 00:06:28 13245 1

原创 Android动画学习Demo(1) 关于ViewAnimation的用法及总结

在Android系统中,提供了两种动画框架:1)View Animation(视图动画),而View Animation 里面又包含了下面两种模式 1.1)Tween Animation (也称之为View Animation) 1.2)Frame Animation (也称之为Drawable Animation)2)Property Animation(属性动画),这是在Android 3.0(API Level 11)之后才支持的框架。所以,不考虑层次,只考虑实现,Android中就存在以下

2014-01-23 00:33:11 6329 2

原创 Android学习小Demo(4)贝塞尔曲线跟翻页效果

第一次看到翻页效果的时候,觉得真是厉害,真是想不出是怎么做的呢(唉,牛人的智商真是只能仰望!)。直到看了Android 实现书籍翻页效果----原理篇 一文,看了何明桂对翻页效果的一张图解,看到贝塞尔曲线,才恍然大悟,只能内心赞叹了。下面先看看图(这张图是直接拿何明桂大牛的,请多多包涵):这里是是以右下角为起点来翻页的,但其实只要将右下角的 f 点设成一个变量(它可以是任何一个

2014-01-21 00:27:43 5965 3

原创 Android 音乐播放器的实现(三)Service的实现

Service 是运行于幕后的,它并不轻易见人,而正巧,音乐也是只闻其声不见其人的,相信这就是它们在一起的原因。大家都知道,从Activity中跟Service交互有两种方式:1)startService。在Activity 中直接调用 startService的方法,我们就可以在后台看不见的地方(但还是在同一个进程里)创建一个叫Service 的东西,它能够在后面静悄悄地执行类似下载的任务,也能够热热闹闹地唱起“苍茫的天涯是你的爱...”,但是这种方式呢,我们就只能跟它说,“Service,做这件事吧

2014-01-20 20:08:33 6136 1

原创 Android 音乐播放器的实现(二)界面的实现

写程序的过程中,想法总会不断地变,有时候会很纠结,到底做哪种效果好,怎么做好呢?就比如这个音乐播放器,我原来的想法是把列表页面跟歌词页面放在同一个Activity中的两个Fragment,然后通过左右滑动来进行页面的切换。但是看了酷狗的播放器,它是在启动页面点击了左下角的按钮,就会把歌词页面从右下角斜切上来,我觉得也挺帅的呀,又想做这个效果了。不管怎么样,先做出一个来再说吧。

2014-01-18 21:36:58 10326 6

原创 Android 音乐播放器的实现(一)自定义按钮的实现

1)要拿出本地的音乐文件,然后将它展现在一个列表上。1.1)利用ContentResolver 获取本地数据,关于怎么获取本地的音乐文件或者图片文件,请看: Android中利用ContentResolver获取本地音乐和相片1.2)利用ListView 展现数据,每个Listitem会显示歌曲名,歌手,播放时间,还有如果有唱片的图片,还要把唱片图片展示出来。2)要有一排按钮,能够实现播放,前一首,后一首,退出,模式选择(顺序播放,循环播放,单曲循环,随机播放等),放在最下面3)要有一条进度条,随着

2014-01-15 00:51:46 8516

原创 Android中 dip 和 px 的关系

我们先来看屏幕为480*800的机器,Button的宽度为160dip的很明显要比160px的要长,事实上,160dip的按钮占据了一半的宽度(240px),而160px的Button,就是160px.为什么会这样呢?其实就是跟图上展示的Density有关了,我把它称为密度比例,它的值是当前屏幕的dpi (Dot Per Inch,不是dip)跟 160 的一个比例。在屏幕密度 Density dpi 为240的手机上,密度比例Density = 240 / 160 = 1.5. 而dip 跟 px

2014-01-14 00:58:48 3257 4

原创 Android中利用ContentResolver获取本地音乐和相片

在Android中,例如图库和音乐播放器,它们能够扫描我们的系统,获取到本地的相片跟音乐,这一点是如何做到的呢?当我们往手机上放图片或者音乐的时候,会在手机内存中某个位置上的某个database中存放图片或者音乐的信息,而我们的应用程序是能够通过ContentResolver去读取到这些数据的。下面可以先看一下database在哪,如下:然后在data/data/下面呢,有很多

2014-01-13 08:54:40 9165 4

原创 Activity 与 Service 实现Parcelable接口传递 ArrayList 集合

在 Activity 跟 Service 的通信过程中,一般用来传递数据的载体就是Intent了,一般用来传数据呢,我们都是通过putExtra 函数来传递简单的String,int, long类型的值,但是现在存在这样一个问题:1)在Activity里面有一个歌曲列表 List, 里面的对象是自定义的一个MusicInfo类,即 List 对象,这是用来展现的。2)在后台Servic

2014-01-11 10:35:49 4191

原创 Android学习小demo(3)自定义ViewGroup 利用 scroller 实行屏幕滚动

前面一篇博文《关于View的ScrollTo, getScrollX 和 getScrollY》,我们讲解View 的scrollTo() 和 getScrollX() 的功能,也提到了它们其实是一般是配合scroller 类来进行屏幕的滑动的。有的朋友可能会问,为什么有了scrollTo() 之后,还要有scroller 类呢,区别在于,scrollTo()  和 scrollBy() 他们

2014-01-09 08:48:07 3957 7

原创 Android学习小demo(2)自定义ViewGroup

前面学习了怎么自定义View (Android学习小demo(1)自定义View), 这一个小demo, 我们接着来学习怎么自定义ViewGroup.ViewGroup, 本质上也是一个View, 不过它增加了一个属性,就是能够去包含其他的View, 甚至是其他的ViewGroup, 故名思义, Views' Group.既然是众多的View 在一起展现,那么这些View 到底是展现在

2014-01-07 00:21:14 2608 1

原创 自定义属性reference 指向 Drawable 并转化为 Bitmap

前面在写  Android学习小demo(1)自定义View  的时候,自定义的drawable 属性是指向 drawable 中的某一张图片,如下: <com.example.apidemostudy.CustomRotateView        android:id="@+id/rotateView

2014-01-04 20:56:55 6378

原创 关于View的ScrollTo, getScrollX 和 getScrollY

当利用 Scroller 去滑动屏幕或者扩展 ScrollView 的时候,总是会用到 getScrollX 和 getScrollY 去获取当前View 滑动到的位置,那么getScrollX() 和 getScrollY() 获取的到底是什么呢? 由于getScrollX 和 getScrollY 本质 上是一样的东西,下面只说明一下getScrollX, 一般是在屏幕上面左右划动的时候会

2014-01-04 20:03:39 12979 14

原创 Android学习小demo(1)自定义View

在Android的开发中,很多时候系统提供的View已经不能够满足我们的要求,自定义View的需求自然而然就出来了。实现自定义的View,其实就是去扩展View类,重写其某些方法函数,把原来由Android Framework 实现的东西,让我们自己来实现自己想要的某些效果。其本质上就是封装了一些自己想要的效果,并使之能够被Framework识别,跟普通的系统的控件一样,可以重复利用。

2014-01-02 21:46:32 3105 2

aidl实现跨进程通信Demo(进阶版)

Android利用Aidl实现跨进程通信并传递数据的Demo

2015-01-18

Aidl 小Demo 简单版

Android学习小Demo(23)Aidl实现进程间通信

2015-01-18

Android联动ListView

Android学习小Demo(21)ListView的联动选择 http://blog.csdn.net/linmiansheng/article/details/37914675

2014-07-17

关于Fragment Demo的源代码

这是关于Android中3.0之后引入的Fragment使用的Demo示例。可以参考 客: blog.csdn.net/linmiansheng 中对应的文章

2014-06-05

LoaderDemo源代码

Android学习小Demo(19)利用Loader来显示短信

2014-05-14

Android JNI demo

参考:http://blog.csdn.net/linmiansheng/article/details/25113461

2014-05-06

Volley Demo 2 源代码

参考: Android中关于Volley的使用(八)缓存机制的深入认识

2014-04-11

Fragment和ViewPager使用Demo源代码

请参考: Android学习小Demo(17)关于ViewPager和Fragment的使用 http://blog.csdn.net/linmiansheng/article/details/23282797

2014-04-09

导入已有数据的sqlitedb demo源代码

请参考:Android学习小Demo(16)Android中使用已存在数据的SqliteDatabase http://blog.csdn.net/linmiansheng/article/details/22685725

2014-03-31

Content Observer Demo 源代码

请参考: http://blog.csdn.net/linmiansheng/article/details/21043047

2014-03-11

volley demo 源代码 1

请参考:Android中关于Volley的使用(一)加载图片 http://blog.csdn.net/linmiansheng/article/details/20496441 Android中关于Volley的使用(二)加载Json数据 http://blog.csdn.net/linmiansheng/article/details/20956309

2014-03-10

volley jar包

android的volley jar 包

2014-03-04

TodoList源代码

参考:Android学习小Demo(10)ToDoList的改进版之ViewPager显示多个图片

2014-02-27

SqliteDemo源代码

请参考: http://blog.csdn.net/linmiansheng/article/details/19096067 Android学习小Demo(8)SQLiteDatabase的使用

2014-02-12

sharedpreference使用demo源代码

请参考: Android学习小Demo(7)SharedPreference的使用

2014-02-09

图片折叠效果的实现Demo源代码

参考:http://blog.csdn.net/linmiansheng/article/details/18896445

2014-02-01

矩阵Matrix实现推拉门效果的Demo源代码

请参考 :Android学习小Demo(5)结合Matrix跟Porperty Animatin 实现推拉门效果

2014-02-01

NineoldAndroids jar 包

Nineoldandroids包,由Github大牛jake wharton 开发,令Property Animation可以支持到1.x

2014-01-26

沿着贝塞尔曲线移动的按钮

请参考:Android动画学习Demo(3) 沿着贝塞尔曲线移动的Property Animation

2014-01-26

Property Animation Demo 源代码

请参考 Android动画学习Demo(2) 关于Property Animation的用法及总结

2014-01-23

Animation Demo 源代码 (更新版)

参考 Android动画学习Demo(1) 关于ViewAnimation的用法及总结

2014-01-22

View Animation Demo 源代码

参考 View Animation 效果

2014-01-22

贝塞尔曲线源码

请参考 Android学习小Demo(4)贝塞尔曲线跟翻页效果

2014-01-21

Android 音乐播放器源码

Android 音乐播放器,实现递归扫描SD根目录歌曲文件,切换播放模式、查看歌曲详细信息等基本功能,源码打包给大家,需要的下载哈 参考:http://blog.csdn.net/linmiansheng/article/details/18455593

2014-01-18

Android音乐播放器源码

请参考: http://blog.csdn.net/linmiansheng/article/details/18455593

2014-01-18

ApiDemoStudy

里面有三个小Demo 1)ApiDemo里面的Transition3D效果 2)自义义View和自定义ViewGroup 3) 利用HorizontalScrollView 去实现水平滚动的效果

2014-01-13

空空如也

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

TA关注的人

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