蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

android-launcher拖拽

  • 资源ID:52624414       资源大小:622.00KB        全文页数:43页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

android-launcher拖拽

转自 http// http// 最近研究 ICS4.0 的 Launcher,发现 4.0 和 2.3 有稍微点区别,但是区 别不是特别大,所以我就先整理一下 Launcher 启动的大致流程。 Launcher 其实是贯彻于手机的整个系统的,时时刻刻都在运行,要是 Launcher 不运行了,手机就得黑屏了。Launcher 的 LauncherModesingletask,所以说不管 Launcher 启动了哪个应用, 总有个 Launcher 的实例在堆栈中,并且位于栈底。点击 Home 键进 入到 Launcher,上篇 Android 的全局键(home 键/长按耳机键)详解 【android 源码解析八】中有详细的介绍。大致思路其实就是启动 launcher 的时候,新启动一个 task。大致先说这么多,先看截图 大明原创,转载请标明出处 http// 4.0 的 Launcher 界面,下面我们分步来解析一下 Launcher 的 启动过程。 Step 0首先要给大家介绍一下 Launcher 的数据库,这个数据库中存 放着待机界面的图标,主屏底部的应用程序图标和桌面 folder 中各应 用程序的图标,ICS4.0 的 folder 中只能放应用程序的快捷方式, shortcut 不能放到这个 folder 中,先看截图 图(2) 说说各字段的含义 title表示桌面应用程序的名字,有的 title 为空,表示是 widget 的快 捷方式; intent表示启动这个图标的 intent 放到数据库中,当 click 的时候就 会调用这个字段,启动相应的应用程序;container表示应用程序的容器,folder 的容器为整数,-100表示 在桌面的程序,-101 表示是主屏底部的程序; screen表示在第几个屏,folder 的 screen 都是 0, container-101 的 为 0,1,3,4;2 为 allapp 的按钮; cellX表示在屏幕 X 轴的位置,(0,1,2,3),左上角为 0 点,往右依 次增加; cellY表示在屏幕 Y 轴的位置,(0,1,2,3),左上角为 0 点,往下依 次增加; spallX表示占 X 轴几个格; spallY表示占 Y 轴几个格; itemType应用程序用 0 表示,shortcut 用 1 表示,folder 用 2 表示, widget 用 4 表示; appWidgetId-1 表示不是 widget ,数字大于 0 表示才是 widget ; isShortCut值为 0 表示不是应用程序的 ShortCut ,值为 1 表示是应 用程序的 ShortCut; iconType值为 0 表示图标的名字被定义为包名的资源 id,值为 1 表 示图标用 bitmap 保存; icon表示应用程序的图标,二进制的;显示为一张图片;说明folder 中的应用快捷方式绑定 folder--是用 container 的值 绑定 folder 的 id 的; 详细的讲解请参考 LauncherSettings.java 这个类,有数据库字段的详 细讲解; 手机是在第一次烧机完成后,数据库的值还没有,这时候 launcher 解 析 default_workspace.xml 把这个值存到数据库中;所以说想定制什么 样的开机桌面就在 default_workspace.xml 中做相应的配置,具体参照 我前面的博客 Android 中源码 Launcher 主屏幕程序排列详解【安卓 Launcher 进化 一】中有详细的介绍 i f convertDatabasedb { // Populate favorites table with initial favorites loadFavoritesdb, R.xml.default_workspace; } Step 1开机后先启动 LauncherApplication.java 这个类的 onCreate()方法,下面看代码 [java] view plaincopyprint 1. Override 2. public void onCreate { 3. super.onCreate; 4. 5. // set sIsScreenXLarge and sScreenDensity *before* creating icon cache 6. // 在创建图标缓存之前先设置sIsScreenXLarge 和屏幕设备的分辨率 7. final int screenSize getResources.getConfiguration.screenLayout 9. sIsScreenLarge screenSize Configuration.SCREENLAYOUT_SIZE_LARGE || 10. screenSize Configuration.SCREENLAYOUT_SIZE_XLARGE; 11. sScreenDensity getResources.getDisplayMetrics.density; 12. 13. // 实例化图标缓存区的对象 14. mIconCache new IconCachethis; 15. // 实例化一个LauncherModel 对象,这个类是保存Launcher 的内存启动状态,更新 Launcher 的数据库的作用 16. mModel new LauncherModelthis, mIconCache; 17. 18. // Register intent receivers 19. // 注册监听,应用package 增加,删除,改变的监听。 20. IntentFilter filter new IntentFilterIntent.ACTION_PACKAGE_ADDED; 21. filter.addActionIntent.ACTION_PACKAGE_REMOVED; 22. filter.addActionIntent.ACTION_PACKAGE_CHANGED; 23. filter.addDataScheme“package“; 24. registerReceivermModel, filter; 25. filter new IntentFilter; 26. // 注册application 是否可用,语言改变,方向改变的监听。4.0 支持横竖屏 27.

注意事项

本文(android-launcher拖拽)为本站会员(文矿工)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开