- 博客(15)
- 资源 (18)
- 收藏
- 关注
转载 Android4.0 Launcher拖拽原理分析(一)
在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的。基本流程是相应的View在检测到用户操作后进行判断,若可以触发拖拽,则设置自身的相应状态,然后将待拖拽对象的Bitmap对象、当前位置、拖拽源、待拖拽对象等信息传给DragController的startDrag方法启动拖拽。接下来,DragLayer的onInterceptTouchEvent
2015-08-31 17:13:11 1071
原创 DrawCache
View组件显示的内容可以通过cache机制保存为bitmap, 使用到的api有 void setDrawingCacheEnabled(boolean flag), Bitmap getDrawingCache(boolean autoScale), void buildDrawingCache(boolean autoScale), void destroyD
2015-08-31 10:22:55 624
原创 Long CLick 和Long Press区别
关于longClick和longPress的区别就在于,如果ACTION_DOWN触发后没有ACTION_UP直到timeout那么就是longclick事件,不管你是否有拖动;而longPress则是必须在ACTION_DOWN后不能移动直至ACTION_UP。
2015-08-29 16:51:07 5822
原创 android的中的触感反馈
HapticFeedBack翻译成中文就是触感反馈的意思。可以通过 [设置]->[声音]->[触感反馈]选项开启所有view的触感反馈选项。在android java代码中可以通过performHapticFeedBack方法来执行触感反馈的效果和声音效果tv.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
2015-08-29 14:54:33 1860
原创 Android通过注解初始化绑定View
一、引言Android中通过findViewById在布局文件中找到需要的View,加入一个Activity里面有许多的View需要初始化,那将是一件很繁琐的事情。当然Google一下你会发现有很多Android Annotations框架。比如比较有名的“Android Annotations”,这样的框架很复杂,用起来也比较麻烦,还有一些BUG,第一次使用也花费了不少时间研究。也许
2015-08-28 15:33:26 1826 1
转载 ListView加载速度/性能优化方案分
Adapter是listview和数据源间的中间人.当每条数据进入可见区域时,adapter的getview()会被调用,返回代表具体数据的视图.触摸滚动时,频繁调用.支持成百上千条数据.下面为显示每条数据的xml文件:1.最简单的方法,最慢且最不实用public View getView(int pos, View convertView,ViewGroup pa
2015-08-20 14:24:31 2750
转载 android自定义布局中的平滑移动
文章主要讲的是自定义view的写法心得。在android应用程序的开发过程中,相信我们很多人都想把应用的交互做的比较绚丽,比如让界面切换平滑的滚动,还有热度灰常高的伪3D等界面效果,通常情况下,系统提供的应用在特效这方面只能为我们提供简单的动画接口,所以要想实现比较酷炫的效果还是要自己去开发布局控件(即所谓的自定义View、ViewGroup)。小弟也经常做一些自定义的控件,最近工作比较清
2015-08-18 11:45:25 2110
转载 android 滑动事件冲突解决 Touch事件处理机制
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包
2015-08-17 17:46:25 751
原创 Android 使用MaskFilter为Paint设置效果
使用MaskFilter类可以为Paint分配边缘效果。对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。Android包含了下面几种MaskFilter:BlurMaskFilter 指定了一个模糊的样式和半径来处理Paint的边缘。EmbossMaskFilter 指定了光源的方向和环境光强度来添加浮雕效果。要应用一个MaskFilte
2015-08-12 09:37:52 3515
转载 launcher架构解析
要想做好launcher,对其基本的架构了解是必须的,在这篇文章里,简单的介绍下launcher中类的构成和架构,首先,这篇文章中很多资源均从互联网中获得,感谢网友们的无私奉献,大家都共享,进步才会更快。第一步,先看两张从网上找来的launcher的架构图。第二张:通过这两张图,简单的说下:整个launcher,准确来说应该是homescre
2015-08-05 12:17:31 3492
转载 Android launcher3常用的类
LauncherModel:从名字我们可以看出他跟数据有关系的,保存了桌面运行时的状态信息,也提供了读写数据库的API,他有一个内部类LoaderTask,桌面启动从数据库中读取数据并把图标和小工具添加上去的时候用的就是他。BubblTextView:图标都是基于他,不过奇怪的是,他是继承自TextView,我之前一直以为是一个线性布局,上面放图片,下面放文字。DragContro
2015-08-05 10:47:22 3577
原创 Android launcher3布局和结构
Launcher3其实最主要的是一个Activity,基本上所有的操作都集中在这个Activity上,在Launcher.java 当中,setContentView的参数是R.layout.launcher,我们暂时只研究下桌面竖屏的情况,相关源码在res/layout-port/launcher.xml。请左手拿着你运行着launcher3的手机,右手打开launcher.xml,布局
2015-08-05 10:43:29 8229 1
转载 URLConnection和HTTPClient的比较
A Comparison of java.net.URLConnection and HTTPClientSince java.net.URLConnection and HTTPClient have overlappingfunctionalities, the question arises of why would you use HTTPClient.Here are a few
2015-08-05 10:28:24 759
转载 Android4.0 Launcher拖拽原理分析
在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的。基本流程是相应的View在检测到用户操作后进行判断,若可以触发拖拽,则设置自身的相应状态,然后将待拖拽对象的Bitmap对象、当前位置、拖拽源、待拖拽对象等信息传给DragController的startDrag方法启动拖拽。接下来,DragLayer的onInterceptTouchEvent
2015-08-05 09:27:53 766
原创 android 中Activity在程序运行过程中进入全屏和退出全屏
1. 如果静态设置全屏可以设置Acitivity的theme,也可以java代码中设置,具体就是在oncreate()中,但是设置代码必须在setContentView()方法之前: requestWindowFeature(Window.FEATURE_NO_TITLE);//取消标题栏getWindow().setFlags(WindowManager.LayoutParams. FL
2015-08-04 18:36:47 4738
Android中非常好图片缓存ImageCache
2013-09-03
Android自定义底部菜单
2013-01-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人