果の狸

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

触发长按事件后浮动原理:
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">A.png <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">S.png <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">d.png 

源码:
 <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">bg2.jpg<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">content.jpg 
<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">imgshow.jpg<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">home.jpg 

只要学会了该上上头的小技术,再加上 原来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

posted on 2012-07-16 14:31  果の狸  阅读(456)  评论(0)    收藏  举报

导航