- 浏览: 5777027 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
View 拖动&插入
即: 支持 拖动图标 然后把之插入 2个View 之间
为了降低难度 选用了若干ImageView 放入ViewGroup : vertical LinearLayout
[代码 步骤]
1. 定义布局:main.xml :
2. 变量初始化
3. 定义OnTouchListener 用于监听所有动作 并注册LinearLayour的所有View 实现为:
4. getLocation(View) 用于: 根据目标View 判断待插入的位置 即:哪2个相邻ImageView 之间 实现为:
即: 支持 拖动图标 然后把之插入 2个View 之间
为了降低难度 选用了若干ImageView 放入ViewGroup : vertical LinearLayout
[代码 步骤]
1. 定义布局:main.xml :
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/linear" > < ImageButton android:layout_width="100dip" android:layout_height="100dip" android:src="@drawable/beijing1_b"/> < ImageButton android:layout_width="100dip" android:layout_height="100dip" android:src="@drawable/beijing2_b"/> < ImageButton android:layout_width="100dip" android:layout_height="100dip" android:src="@drawable/beijing3_b"/> < ImageButton android:layout_width="100dip" android:layout_height="100dip" android:src="@drawable/beijing3_b"/> < /LinearLayout>
2. 变量初始化
lLayout = (LinearLayout)findViewById(R.id.linear);
3. 定义OnTouchListener 用于监听所有动作 并注册LinearLayour的所有View 实现为:
touchListener = new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub int action = event.getAction(); int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch(action){ //鼠标按下 拖拉动作开始 case MotionEvent.ACTION_DOWN: point1 = v.getTop(); startX = (int)event.getX(); startY = y - v.getTop(); break; //鼠标移动 拖拉动作进行中 case MotionEvent.ACTION_MOVE: v.layout(x - startX, y - startY, x + v.getWidth() - startX, y - startY + v.getHeight()); v.bringToFront(); v.postInvalidate(); break; //鼠标释放 拖拉动作结束 case MotionEvent.ACTION_UP: point2 = v.getTop(); //计算插入位置 位于哪两个相邻View之间 int dest = getLocation(v); //remove ori view, and then add view here lLayout.removeView(v); lLayout.addView(v, dest); break; } return false; } }; //to listener all ImageView for(int i=0;i< p> ImageView iv = (ImageView)lLayout.getChildAt(i); if(iv !=null){ iv.setOnTouchListener(touchListener); } else { //error, view is null! } }
4. getLocation(View) 用于: 根据目标View 判断待插入的位置 即:哪2个相邻ImageView 之间 实现为:
public int getLocation(View v){ for(int i=0;i< p> ImageView iv = (ImageView)lLayout.getChildAt(i); ImageView iv2 = (ImageView)lLayout.getChildAt(i+1); if(iv.getTop()< v.getTop() && iv2.getTop() > v.getTop()){ //refer delta of point1 & point2 if(point1 < point2){//drag to bottom return i+1; } else {//drag to up return i+1; } } } //otherwise return last location return lLayout.getChildCount()-1; }
发表评论
-
http://www.android-studio.org/
2018-08-06 09:25 0http://www.android-studio.org/ ... -
SlidingDrawer源码
2012-03-14 10:13 3773我把SlidingDrawer源码提了出来,希望对1.5的朋友 ... -
简单拖动效果(带Cache,需要完善)
2011-10-13 15:10 4181如何去实现一个具有幻象的拖拽效果? 所谓”幻象“就是当你按下去 ... -
Android Activity中启动另一应用程序的方法,无需得到类名
2011-08-02 14:46 17197在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和 ... -
java-universal-tween-engine,一个动画系统库
2011-06-29 09:21 6699http://code.google.com/p/java-u ... -
网上发现的一个android UI包
2011-05-24 12:21 4049里面有些UI和效果 -
android中使用代码启动其他程序
2011-04-29 23:15 5222你要訪問其他的程序,那麼這個程序要先裝載到模擬器或真機上面,因 ... -
listView背景问题以及限制editText字数以及如果想通知别人已经不能在写
2011-04-29 22:44 31611.在listView设置好背景之后 你如果点击空白出 你会发 ... -
Android键盘和触摸事件处理
2011-04-29 22:32 6964activity和VIEW都能接收触摸和按键,如果响应事件只需 ... -
Android的绘制文本对象FontMetrics的介绍及绘制文本
2011-04-29 22:29 11459一。Android绘制文本对象FontMetrics介绍 ... -
使TextView文本可以水平和垂直滚动
2011-04-29 21:59 14334在做一个小的电子书程序,要求电子书具有放大缩小的功能,所以肯定 ... -
ArrayAdapter源码
2011-04-29 12:29 6263看看人家怎么写的。 /* * Copyright (C ... -
Android下获取开机时间
2011-04-02 21:51 6185找了一圈没发现能得到开机启动时间资料,于是乎突发奇想,得到了解 ... -
AutoCompleteTextView连接到数据库
2011-03-30 20:49 4654AutoCompleteTextView可以根据输入 ... -
改变屏幕Brightness(亮度)
2011-03-30 12:48 4563http://www.eoeandroid.com/forum ... -
android 拖拽图片&拖动浮动按钮到处跑
2011-02-24 20:55 31705来自老外: import android.app.Acti ... -
拖动一个控件在另一个控件(layout)上,并固定位置在几个位置显示
2011-02-24 20:51 5848实现效果: 鼠标拖动btn SSS,SSS在水平的layo ... -
Handler与Message类,实现n秒后无操作自动消失功能
2011-02-24 20:45 4593实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后 ... -
带删除按钮的ListView
2011-02-24 10:33 6113不用说了,上图先: import java.util.A ... -
android3.0之Action Bar基础
2011-02-22 17:12 6793http://www.android123.com.cn/an ...
相关推荐
Android:View和Adapter结合使用,ListView列表视图,GridView视图,Spinner下拉框的使用代码实例
NULL 博文链接:https://xyc20080413.iteye.com/blog/2036389
android view的旋转 源码 android view的旋转android view的旋转android view的旋转android view的旋转
用ViewDragHelper实现View拖动,可实现浮动窗口等。
主要讲述的是: View.layout(a,b,c,d)4个参数 和getRawX和getX的区分 详细描述:http://blog.csdn.net/u011634756/article/details/10001119 ====================关注小鱼=================== 新浪微博:...
Android中自定义ImageView,实现在页面中能随意的拖动效果 部分内容链接:https://blog.csdn.net/longxuanzhigu/article/details/79879169
android 在list view中插入一条广告数据
腾讯QQ有那种红点拖动效果,今天就来实现一个简单的自定义View拖动效果,再回到原处,并非完全仿QQ红点拖动
自定义view,这里我是继承ImageView写的,可根据自己的需求更改。自定义View中,获取了屏幕的宽高避免滑出边界,并解决滑动时会触发点击事件的冲突。
Android 自定义view-仿新浪微博#话题#插入EditText 博客地址http://blog.csdn.net/u014702653/article/details/52799715
自定义的悬浮View,内容可以放任意布局,可以随手指拖动,悬浮后会自动吸附到手机左、右屏幕边上,可以控制是否自动吸附。
Android的可拖动PointView
Android View 事件传递与消费,用于view事件传递的理解。
1.非常简单的一个类,用于在android开发中拖动View(可以是imageView或者viewGroup) 2.有两种构造方法,可以只监听一个图片,然后移动此图片。也可以将监听和移动的view分开。 3.里面的注释,若乱码,可能是编码...
Android View 3D旋转
这是一个使用自定义View实现显示图片,并实现了手势缩放、拖拽、切换。在缩放状态下单手指拖拽图片,在未缩放状态下可以实现图片切换或其他功能,已经留好对应接口。只要修改相关代码就可以了
Compose 和 Android 传统View 互相调用 示例 Demo Sample,以及在双层嵌套(原生View嵌套Compose,Compose中又嵌套原生View)的情况下,在最外层原生View中,怎么获取到Compose内部的原生View。 具体详见我的博客 : ...
Android View转成Bitmap
Android音频剪辑裁剪自定义view,拖动剪切音频的时长,滑动滑块实时显示对应的时间点,指针可以滑动
本资源提供对于ViewGroup下所以子view的遍历,以及调用Views都过tag或者Widget的类查找返回一个List<View> 使用方法可见示例: 子View遍历 ViewGroup root = (ViewGroup) findViewById(android.R.id.content); ...