最近看到一个画图工具有个挺不错的拖动效果,感觉挺好,想想JS中实现拖拽功能用起来也挺爽,下面简单的做了一个拖拽效果的方法,们举例给按钮做一个拖拽的效果。
拖拽功能事件:
private OnTouchListener touch = new OnTouchListener() {
int[] temp = new int[] { 0, 0 };
public boolean onTouch(View v, MotionEvent event) {
int eventaction = event.getAction();
Log.i("&&&", "onTouchEvent:" + eventaction);
int x = (int) event.getRawX();
int y = (int) event.getRawY();
switch (eventaction) {
case MotionEvent.ACTION_DOWN: //
temp[0] = (int) event.getX();
temp[1] = y - v.getTop();
break;
case MotionEvent.ACTION_MOVE: // touch drag with the ball
v.layout(x - temp[0], y - temp[1], x + v.getWidth() - temp[0], y - temp[1] + v.getHeight());
v.postInvalidate();
break;
case MotionEvent.ACTION_UP:
break;
}
return false;
}
};
注册事件
button.setOnTouchListener(touch);
当触摸按钮拖动时,即可看到按钮根据动作的方向移动,至于其他的控制,比如不能拖出边缘等等效果,自己给layout中设置即可。
分享到:
相关推荐
拖拽效果在Android应用中通常用于实现各种功能,如整理桌面图标、滑动切换页面或在列表中进行排序。Zaker作为一个知名的新闻阅读应用,其拖拽效果设计得非常细腻,能够自动根据用户的操作调整元素的位置,这增加了...
仿zaker效果的拖拽排序。可以动态设置列数,动态增加或者减少item,当一页填满自动增加到下一页,当页数大于1,可以左右翻页。项目地址:https://github.com/zzhouj/Android-DraggableGridViewPager 效果图: 如何...
本项目名为"Android 仿zaker效果的拖拽排序.zip",其核心是实现了动态列数设定、动态增删item以及自动分页功能,提供了丰富的自定义可能性。 首先,我们要理解的是动态设置列数这一特性。在某些设计中,根据屏幕...
在Android应用开发中,创建一个类似手机QQ底部导航栏的Icon拖拽效果是一项常见的需求,它能提升用户体验,使得用户在各个功能模块间切换时更加流畅。本教程将深入探讨如何实现这一效果。 首先,我们需要了解这个...
在Android开发中,创建一个可向左拖动以展示更多页面的通用控件是一项常见的需求,这能够为用户带来更加直观且有趣的交互体验。本文将详细介绍如何在一分钟内实现这样的功能,主要涉及Android自定义视图、手势检测...
3、拖拽效果的用户体验很好。 4、支持item选择效果,前提是item实现了View类的setSelected()方法。 5、点击测试用例1中第一个Item,即往Gallery中动态添加Item。 6、测试用例2中使用了多线程,取得当前Android...
`iscroll.js`就填补了这个空白,它可以无缝集成到Webview中,让基于HTML5的Android页面也能拥有流畅的滚动效果。`iscroll.js`的使用非常简单,只需要在HTML中引入库文件,并通过JavaScript代码配置和初始化滚动区域...
总的来说,实现一个带有拖拽效果的GridView涉及到了Android UI交互设计、自定义视图组件、触摸事件处理、数据模型与视图的同步,以及可能的动画效果。这是一个相对复杂的任务,但通过理解并掌握这些知识点,可以构建...
在Android应用开发中,用户体验是至关重要的因素之一,而登录页面作为用户接触应用的第一步,其界面设计和交互效果往往能直接影响用户的第一印象。"Android酷炫登录动画效果"这个主题,聚焦于如何通过动画技术提升...
### Android的拖动效果 #### 一、概述 在Android应用开发过程中,了解并掌握不同类型的布局显示方式是非常重要的。本文将重点介绍Android中的几种基本布局类型及其应用场景,并通过一个具体的示例——拖动效果的...
综上所述,模拟Android桌面的滑动翻页效果涉及到了自定义ViewGroup、触摸事件处理、页面管理、动画实现以及布局测量等多个方面的知识。通过以上步骤和策略,我们可以创建出一个具有平滑翻页效果的自定义组件。在实际...
【Android ViewFlipper 手势拖动效果详解】 在 Android 应用开发中,ViewFlipper 是一个非常有用的布局组件,它可以实现多个视图(View)之间的切换,并且支持手势滑动切换效果,使得用户界面更加生动和交互性更强...
其次,为了支持多页,我们可以使用PagerAdapter或者FragmentStatePagerAdapter来创建一个滑动页面的效果。每个页面都是一个单独的GridView,每个GridView显示一部分数据。当用户拖动子项到边界时,可以通过判断边界...
本项目“Android-DragSortRecyclerView仿新闻类app频道切换页面支持拖拽排序交换频道”是基于RecyclerView的扩展,实现了用户可以通过拖动来排序和交换列表中的频道项,模拟新闻类应用的频道切换功能。 首先,...
`DragFooterView`控件就是这样一个专门针对提升用户体验而设计的组件,它允许用户通过向左拖拽底部视图来触发更多页面的切换或者加载。这个控件在很多需要无限滚动或分页加载的应用场景中非常实用,例如社交媒体、...
虽然目前的功能仅限于图标拖拽,但计划在未来进一步完善,添加页面切换等更多功能。 首先,我们需要理解安卓中的动画机制。安卓系统提供了多种动画实现方式,如属性动画(Property Animation)、视图动画(View ...
ViewPager是Android SDK中的一个强大视图,主要用于展示多个页面并允许用户左右滑动切换这些页面。在实现Launcher桌面的滑动效果时,我们可以将每个主屏幕看作ViewPager的一个页面,通过滑动来切换不同的主屏幕。 1...
在Android开发中,实现控件在界面上自由拖动位置显示是一种常见的需求,可以提供更加灵活和用户友好的交互体验。本主题主要涉及的是如何在Android应用中创建一个自定义的拖动控件,允许用户自由调整控件在屏幕上的...
这种编辑器提供了可视化的界面,用户可以将元素(如文本、图片、按钮等)从工具栏拖放到工作区,编辑器则会自动产生相应的HTML代码。这样,用户无需理解HTML语法,就能实现页面的设计。 1. **拖拽界面**:这类工具...
在Android开发中,"ViewPaper 拖拽title分页"是一种常见的用户界面设计,它允许用户通过拖动页面标题来切换不同的内容视图。这种交互模式常见于新闻阅读、电商应用等,提供了便捷的浏览体验。下面我们将深入探讨如何...