http://www.roiding.com/index.php/archives/211
废话少说,要实现的效果就是在界面上拖动这一个按钮到处跑。
1. 布局文件
-
<?
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"
>
-
<
Button
android:id
=
"@+id/btn_hello"
android:layout_width
=
"fill_parent"
-
android:layout_height
=
"wrap_content"
android:text
=
"@string/hello"
/>
-
</
LinearLayout
>
<?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">
<Button android:id="@+id/btn_hello" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
</LinearLayout>
2. 代码
-
package
com.roiding.sample;
-
-
import
android.app.Activity;
-
import
android.os.Bundle;
-
import
android.util.Log;
-
import
android.view.MotionEvent;
-
import
android.view.View;
-
import
android.view.View.OnTouchListener;
-
import
android.widget.Button;
-
-
public
class
Touch
extends
Activity {
-
-
@Override
-
public
void
onCreate(Bundle savedInstanceState) {
-
super
.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
-
final
Button btn = (Button) findViewById(R.id.btn_hello);
-
-
btn.setOnTouchListener(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:
-
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
;
-
}
-
-
});
-
-
}
-
}
分享到:
相关推荐
在JavaScript的世界里,jQuery...在提供的`drag`文件中,可能包含了实现上述拖拽效果的示例代码或进一步的扩展,如添加缓动效果、限制拖动方向等。通过学习和实践这些代码,你可以更好地掌握jQuery实现拖拽功能的技巧。
本项目"qt自定义图形实现拖拽效果.7z"可能包含了一个示例,通过阅读其中的"ruanjian-c-339363.pdf"文档,我们可以深入理解这一过程。 首先,我们需要了解Qt中的QGraphicsView和QGraphicsScene。QGraphicsView是一个...
本文实例为大家分享了Qt自定义图形实现拖拽效果的具体代码,供大家参考,具体内容如下 在这里自定义图形是通过QPaintEvent事件绘画的图形,也可以通过自定义控件的方式添加到qt中。 首先定义类来自定义图形,这里...
在SVG(Scalable Vector Graphics)中实现拖拽效果,是一种常见的交互设计技术,它可以用于创建用户界面中的可操作元素,如图形、图表或者图标。SVG因其矢量特性,使得图像在不同分辨率下都能保持清晰,同时其丰富的...
在JavaScript中实现拖动效果是一项常见的任务,尤其在构建交互式网页或富互联网应用程序时。这个主题涉及到DOM操作、事件监听、鼠标位置计算等多个技术点。以下是对这一知识点的详细阐述: 1. **事件监听**:...
在QML中实现拖拽效果是一项常见的需求,特别是在创建可自定义且具有高度交互性的应用时。本篇文章将深入探讨如何使用Qt QML来实现拖放(Drag and Drop)功能。 首先,拖放功能涉及到两个主要组件:拖动源(Drag ...
标题:"igoogle实现拖拽效果" 描述:本文将深入探讨如何使用JavaScript脚本来实现类似iGoogle的拖拽功能,这是一种非常实用的技术,可以极大提升网页的交互性和用户体验。通过具体的代码示例,我们将逐步解析其实现...
同时,为这些元素绑定拖动事件处理函数,实现拖动效果。 需要注意的是,为了提供良好的用户体验,拖动过程中应显示一个视觉反馈,比如改变鼠标指针样式或高亮拖动的元素。此外,还要考虑边界限制,确保元素不会被拖...
原声JS实现拖拽效果,带有详细思路、注释。原声JS实现拖拽效果,带有详细思路、注释。
在JavaScript的世界里,实现拖动效果(Drag and Drop)是一项常见的任务,特别是在创建交互式Web应用或用户界面时。这个“最新Js实现拖动效果代码”可能包含了一套完整的解决方案,帮助开发者为网页元素添加拖放功能...
本文将深入探讨如何使用jQuery实现拖拽效果,这是网页交互设计中的一个常见功能,通常用于创建可自定义布局的元素,如拖动窗口或调整元素位置。 首先,jQuery UI库提供了一个内置的`draggable()`方法,使得实现拖拽...
通过onmousedown实现拖拽效果
在这个“Js实现拖拽效果源码下载”项目中,我们将探讨如何利用JavaScript实现元素在网页上的拖放功能。 拖拽效果(Drag and Drop)是网页交互中常见的一种功能,它可以提升用户的操作体验,例如在文件管理器中移动...
"Android-ImageNice9Layout仿Nice首页图片列表9图样式并实现拖拽效果"是一个项目,其目标是模仿Nice应用的首页图片展示方式,并添加了拖拽排序功能。下面将详细介绍这个项目涉及的关键知识点。 1. **Nine-Patch ...
本文将详细讲解如何使用JavaScript和CSS来实现这一效果,以创建一个可拖拽的元素并处理其在页面上的位置。 首先,我们需要理解JavaScript在拖放功能中的角色。JavaScript提供了`dragstart`、`drag`、`dragend`以及`...
实现拖动效果的关键在于监听用户的鼠标操作。通常会使用`mousedown`、`mousemove`和`mouseup`事件。当用户按下鼠标时,记录初始位置;在鼠标移动时,根据移动距离动态改变列宽;当用户释放鼠标时,结束调整。 3. *...
在给定的文件信息中,主要关注的是如何利用JS实现DOM对象的拖拽效果。下面将深入解析这个知识点,包括其实现原理、关键代码片段以及应用场景。 ### JS实现DOM对象拖拽效果 #### 实现原理 拖拽效果在网页上是非常...
在这个主题中,我们将深入探讨如何利用CListCtrl实现Item项的拖拽效果,这对于创建具有交互性的应用程序非常有用。 首先,我们需要了解CListCtrl的基本用法。CListCtrl继承自CWnd类,它可以展示一个或多个列的列表...
`AJAX实现地图拖动效果`可能是一个JavaScript文件,其中包含了实现拖动效果的代码。`pic`和`images`目录可能存储了地图的切片图片,而`js`目录则可能包含了其他辅助的JavaScript库或文件。 实现地图拖动效果涉及到...
2. **实现拖动效果** - ViewPager默认已经支持左右滑动切换页面,但为了达到更像Launcher的效果,我们可能需要自定义`ViewPager`或者在其内部实现一些额外的触摸事件处理。 - 我们可以监听`ViewPager`的滑动手势,...