Android实现让图片在屏幕上任意移动的方法(拖拽功能)
本文实例讲述了Android实现让图片在屏幕上任意移动的方法。分享给大家供大家参考,具体如下:
public class DragExampleActivity extends Activity {
Bitmap mBitmap;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
setContentView(new DragView(this));
}
@Override
protected void onDestroy()
{
super.onDestroy();
if(null != mBitmap) {
mBitmap.recycle();
mBitmap = null;
}
}
private class DragView extends View {
private int mMotionX = 0;
private int mMotionY = 0;
private Paint paint;
public DragView(Context context)
{
super(context);
paint = new Paint();
}
@Override
public void draw(Canvas canvas)
{
super.draw(canvas);
canvas.drawBitmap(mBitmap, mMotionX, mMotionY, paint);
}
@Override
public boolean onTouchEvent(MotionEvent ev)
{
if(ev.getAction() == MotionEvent.ACTION_DOWN)
{
mMotionX = (int) ev.getX();
mMotionY = (int) ev.getY();
invalidate();
return true;
}else {
return super.onTouchEvent(ev);
}
}
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android拍照与图片处理技巧总结》、《Android编程之activity操作技巧总结》、《Android视图View技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关推荐
-
Android悬浮按钮点击返回顶部FloatingActionButton
先看一下Android悬浮按钮点击回到顶部的效果: FloatingActionButton是Design Support库中提供的一个控件,这个控件可以轻松实现悬浮按钮的效果 首先,要在项目中使用这个悬浮按钮就要先把design这个包导入项目 gradle中加入依赖 compile 'com.android.support:design:25.0.0' 接下来就是在xml中使用: 我这里是放置一个listView模拟返回顶部 <?xml version="1.0" encodi
-
Android实现系统级悬浮按钮
本文实例为大家分享了Android系统级悬浮按钮的具体代码,供大家参考,具体内容如下 具体的需求 1.就是做一个系统级的悬浮按钮,就像iPhone 桌面的那个悬浮按钮效果一样,能随意拖动,并且手一放开,悬浮按钮就自动靠边. 2.可以点击并且可以随意拖动. 3.悬浮按钮自动靠边的时候,或者移动到边上的时候,自动隐藏半边. 4.横竖屏切换都兼容 1.就在WindowManager 里面添加View,这个View通过自定义控件来实现. 2.在onTouch里的MotionEvent.ACTION_MO
-
Android利用悬浮按钮实现翻页效果
今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子. 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.LayoutParams.那么在AndroidManifest.xml中添加权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 然后,我们要对WindowManager,WindowManager.Layout
-
Android开发模仿qq视频通话悬浮按钮(实例代码)
模仿qq视频通话的悬浮按钮的实例代码,如下所示: public class FloatingWindowService extends Service{ private static final String TAG="OnTouchListener"; private static View mView = null; private static WindowManager mWindowManager = null; private static Context mContext
-
Android开发悬浮按钮 Floating ActionButton的实现方法
一.介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.FloatingActionButton 二.使用准备, 在as 的 build.grade文件中写上 compile 'com.android.support:design:22.2.0' 三.使用说明 xml文件中,注意蓝色字体部分 <android.support.design.widget.FloatingActionButt
-
Android中FloatingActionButton实现悬浮按钮实例
Android中FloatingActionButton(悬浮按钮) 使用不是特别多,常规性APP应用中很少使用该控件. 当然他的使用方法其实很简单.直接上代码: xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="
-
Android自定义可拖拽的悬浮按钮DragFloatingActionButton
悬浮按钮FloatingActionButton是Android 5.0系统添加的新控件,FloatingActionButton是继承至ImageView,所以FloatingActionButton拥有ImageView的所有属性.本文讲解的是一个实现了可拖拽的悬浮按钮,并为此添加了类似于qq的吸附边框的功能.在此之前,先了解下其简单的使用方式吧: 首先你得添加其依赖 compile 'com.android.support:design:25.3.1' 然后在布局文件中使用. <andro
-
Android实现让图片在屏幕上任意移动的方法(拖拽功能)
本文实例讲述了Android实现让图片在屏幕上任意移动的方法.分享给大家供大家参考,具体如下: public class DragExampleActivity extends Activity { Bitmap mBitmap; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst
-
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
用Vue2实现移动端图片上传.压缩.拖拽排序.拖拽删除功能 图片上传图片压缩拖拽排序.拖拽删除 之前在公司开发过一段时间的移动端H5页面,有个功能就是要上传图片+压缩.参考了一下网上的方法,外加自己摸索的过程,最终实现了这个功能.后面在家闲的时候又加多了个长按选中图片,并且可以拖拽排序.拖拽到指定位置删除的功能. github地址:代码地址 下面直接进入正题: 图片上传 图片上传用的是HTML的input标签实现的.核心就是把获取到的文件通过FileReader转换成图片,代码如下: <inpu
-
asp.net图片文件的上传与删除方法
本文实例讲述了asp.net图片文件的上传与删除方法.分享给大家供大家参考,具体如下: //上传图片 public void UpdataImage() { //获取选择的文件 string fileName = fudImage.FileName; //获取后缀名 string fileExt = Path.GetExtension(fileName); if (fileExt != ".jpg") { return; } //获取服务器端得上传的路径 string serverPa
-
Android基于Http协议实现文件上传功能的方法
本文实例讲述了Android基于Http协议实现文件上传功能的方法.分享给大家供大家参考,具体如下: 注意一般使用Http协议上传的文件都比较小,一般是小于2M 这里示例是上传一个小的MP3文件 1.主Activity:MainActivity.java public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private EditText timel
-
C#使用timer定时在屏幕上输出信息的方法
本文实例讲述了C#使用timer定时在屏幕上输出信息的方法.分享给大家供大家参考.具体分析如下: 这段c#代码通过timer定时器每隔5秒钟调用一次OnTimerElapsed事件,在屏幕上输出信息,这是一个简单的timer定时器使用范例,可以大概了解一些C#中timer的用法 using System; using System.Timers; public class Program { private static System.Timers.Timer testTimer; public
-
Android编程实现获得手机屏幕真实宽高的方法
本文实例讲述了Android编程实现获得手机屏幕真实宽高的方法.分享给大家供大家参考,具体如下: WindowManager w = activity.getWindowManager(); Display d = w.getDefaultDisplay(); DisplayMetrics metrics = new DisplayMetrics(); d.getMetrics(metrics); // since SDK_INT = 1; widthPixels = metrics.width
-
Android png透明图片转jpg时背景变黑的解决方法
在做view保存图片后,压缩格式转为jpg的时候出现了黑色背景,其根本原因在于透明背景时背景的情况下,转换为jpg的时候会变成黑色背景,原因是PNG支持透明图而 JPG格式不支持透明背景. 我们的解决方案如下: /** * 把bitmap,png格式的图片 转换成jpg图片 * 因jpg不支持透明,如png透明图片,则转成白底! * @param bitmap 源图 * @param newFilepath 新图片的路径 */ public static void convertBitmap2J
-
Android中RecyclerView实现滑动删除与拖拽功能
前言 从Android 5.0开始,谷歌推出了新的控件RecyclerView,相对于早它之前的ListView,优点多多,功能强大,也给我们的开发着提供了极大的便利,今天自己学习一下RecyclerView轻松实现滑动删除及拖拽的效果. 如下图. 相信研究过RecyclerView的同学,应该很清楚该怎么实现这样的效果,若是用ListView,这样的效果实现起来可能就有点麻烦,但是在强大的RecyclerView面前这样的的效果只需很少的代码,因为谷歌给我们提供了强大的工具类ItemTouch
-
Android仿QQ消息提示点拖拽功能
很久以前,发现QQ有一个很有趣的功能,就是未读消息的红点是可以拖拽的,而且在任何地方都可以随意拖拽,并且有一个弹性的动画,非常有趣,而且也是一个非常方便的功能,于是总想仿制一个,虽说仿制,但也只是他的拖拽功能,弹性效果还是能力有限. 不多说 先上效果 一个自定义的view 使用方式也很简单 <com.weizhenbin.show.widget.VanishView android:layout_width="30dp" android:layout_height="3
-
UGUI实现图片拖拽功能
这一篇博客我们来使用UGUI实现图片的拖拽功能. 说到拖拽,那必然离不开坐标,UGUI 的坐标有点不一样,它有两种坐标,一种是屏幕坐标,还有一种就是 UI 在Canvas内的坐标(暂时叫做ugui坐标.),这两个坐标是不一样的,所以拖拽是就需要转换.因为鼠标的移动是屏幕坐标,而 UI 的移动是ugui坐标.转换的方法: RectTransformUtility.ScreenPointToLocalPointInRectangle ( - );这个方法可以把屏幕坐标转换成 ugui 坐标.至于屏幕
随机推荐
- SQL Server 2005基础知识详细整理
- prototype1.5 初体验第1/2页
- js checkbox(复选框) 使用集锦
- Java基本数据类型与对应的包装类(动力节点java学院整理)
- ASP.NET 用户控件的使用介绍
- 基于Bootstrap+jQuery.validate实现表单验证
- Yii2实现多域名跨域同步登录退出
- python使用marshal模块序列化实例
- Python判断变量是否为Json格式的字符串示例
- 自动恢复MySQL数据库的日志文件思路分享及解决方案
- mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database
- php pdo操作数据库示例
- dvbbs7.1 照样从后台得到webshell
- 详解Android中Dialog的使用
- PHP 一个页面执行时间类代码
- C#中数组初始化、反转和排序用法实例
- 三明科技免费310M全能空间
- java的IO流详细解读
- Spring cloud Eureka注册中心搭建的方法
- Scala入门教程详解
