Android控件拖拽功能的实现
来源:互联网 发布:高尔夫网络电视直播 编辑:程序博客网 时间:2024/05/15 21:48
下面是一个Android拖拽功能的实现demo,以图片ImageView测试,当手指拖动图片时,图片会跟着手指的移动而移动
package com.example.dragtest;import android.app.Activity;import android.graphics.Rect;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.view.Window;import android.widget.ImageView;public class MainActivity extends Activity {private ImageView imageView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.imageview); imageView.setOnTouchListener(new OnTouchListener() { float raw_x, raw_y;public boolean onTouch(View v, MotionEvent event) {int action = event.getAction();switch(action){case MotionEvent.ACTION_MOVE://获取手指触摸的点在屏幕中的坐标raw_x = event.getRawX();raw_y = event.getRawY();//计算图片显示的上下左右坐标int l = (int) (raw_x - imageView.getWidth()/2);int t = (int) (raw_y - imageView.getHeight()/2);int r = (int) (raw_x + imageView.getWidth()/2);int b = (int) (raw_y + imageView.getHeight()/2);//计算状态栏和标题栏高度int statusbarHeight = getStatusBarHeight();int titleBarHeight = getTitleBarHeight();//显示图片时要减去状态栏和标题栏的高度int h = statusbarHeight + titleBarHeight;//显示图片到制定位置v.layout(l, t - h, r, b - h);break;}return true;}}); } //获取标题栏高度 private int getTitleBarHeight(){ int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); Log.d("yubo", "title bar height:" + (contentTop - getStatusBarHeight())); return contentTop - getStatusBarHeight(); } //获取状态栏高度 private int getStatusBarHeight(){ Rect rect = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); Log.d("yubo", "status bar height:" + rect.top); return rect.top; }}效果图如下:
0 0
- Android控件拖拽功能的实现
- js实现控件的拖拽功能
- c# winform TreeView控件中实现拖拽的功能
- c# winform TreeView控件中实现拖拽的功能
- c# winform TreeView控件中实现拖拽的功能
- c# winform TreeView控件中实现拖拽的功能
- Android 基础控件之ImageSwitcher、Gallery功能的实现
- 实现控件的移动功能
- Android实现图片滚动控件,含页签功能
- android 自定义控件实现截图框功能
- 通过继承实现edit控件的拖拽文件功能扩展的一般步骤
- android自定义图片,支持缩放拖拽的功能实现
- c# winform TreeView控件中实现拖拽的功能 (一)
- 如何基于asp.net实现ListBox控件的鼠标拖拽功能
- MFC中实现单个控件接收拖拽文件的功能
- MFC中实现单个控件接收拖拽文件的功能
- duilib中控件拖拽功能的实现方法(附源码)
- 【转】c# winform TreeView控件中实现拖拽的功能
- UnityShader初识
- 开机时自动启动任务管理器,怎么设置
- orcal存储过程事例
- C++ 学习笔记_0015_递归(读懂C++递归程序)
- myeclipse的快捷键
- Android控件拖拽功能的实现
- Android中判断当前网络是否可用
- 多处理器下Windows内核同步
- 结构体:探析C#文件方式读写结构体
- 黑马程序员-----交通灯和银行业务调度面试题
- Eclipse中文语言包安装和设置中文
- 《数据结构》第一章学习总结
- QuickXDev插件自动升级后player no exist
- Android开源的App