您的位置:首页 > 其它

高仿小米launcher(ZAKER)跨屏拖动item(有源码)

2012-07-16 14:31 369 查看
触发长按事件后浮动原理:
windowParams = new WindowManager.LayoutParams();
windowParams.gravity = Gravity.TOP | Gravity.LEFT;
windowParams.x = x - itemWidth / 2;
windowParams.y = y - itemHeight / 2;
windowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
windowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;

ImageView iv = new ImageView(getContext());
iv.setImageBitmap(bm);
windowManager = (WindowManager) getContext().getSystemService(
Context.WINDOW_SERVICE);// "window"
windowManager.addView(iv, windowParams);
拖动效果:
if (dragImageView != null) {
windowParams.alpha = 0.6f;
windowParams.x = x - itemWidth / 2;
windowParams.y = y - itemHeight / 2;
windowManager.updateViewLayout(dragImageView, windowParams);
}
效果图:
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">


源码:
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important">

MiLaucher.zip

增加了滑动效果,让体验更流畅
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

MiLaucher2.zip
长按item消失后弹出,释放动画改变
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

MiLaucher3.zip
添加了左右滑动的支持多个gridview的功能
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

MiLaucher4.zip
增加了跨屏拖动item替换位置的功能

源码
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important">

MiLaucher5.zip

替换了ZAKER界面,移动背景壁纸,3层嵌套,优化拖拽缓冲,以及滑动界面页码动画

代码包:
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important">

MiLaucher6_ZAKER.zip

增加了添加和删除item的事件,并修改了页码转动乱位的错误
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

MiLaucher_FinalV1.zip

最近比较忙。没什么时间额

感谢小熊同志的意见

纠正了首次长按时位置错乱的问题,对删除item流程进行了改进,优化了添加item的动态添加方法,增加了感应器的使用。摇一摇可以自动排列item,清空空值项。
效果APK: <IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important">

MiLaucher.apk

代码
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important">

MiLaucher_FinalV2.zip

闲来无事发发更新,最近快报:
02-29:先亮截图
<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">


<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">

<IGNORE_JS_OP style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 13px/19px 微软雅黑; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">


只要学会了该上上头的小技术,再加上 原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定 这个贴的PATH技术
一个小小的应用就出来咯,oh,yeah!

效果APK:
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important"> girl.apk

0307 V1.02新版本
<IGNORE_JS_OP style="FONT-FAMILY: 微软雅黑 !important"> 精品生活.apk

精品生活 源码已开放 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=158121&page=1&extra=#pid1312850

一哥们实现了的item自动移位的效果
‘我’已经把实现item自动移位的效果的源码发出来了GridView 实现长按item拖动后,其它item

原文地址:http://www.eoeandroid.com/thread-155299-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐