android - 设计可移动 View : Android

标签 android

<分区>

如何在 android 中设计可移动(拖放) View 。

以我为例 enter image description here

将有四行,所有行都是可移动的。

用户可以排列所有 4 行,如 1234、2341、3421、1243...... 1234 的任意组合。

那怎么会呢?

所有行都是布局。

最佳答案

声明一个成员以保存当前拖动的位图、 View 和当前拖动的 x 和 y 坐标。

  • 覆盖父 View 的 onTouch
  • ACTION_DOWN事件中调用getDrawingCache()获取拖动 View 的绘图缓存(Bitmap)并设置为拖动位图成员.使布局无效(以便调用 onDraw,在其中绘制当前拖动的 View )。隐藏当前拖动 View 。
  • ACTION_MOVE 中绘制(无效)当前 x 和 y 坐标处的拖动 View 位图。
  • ACTION_UP 中销毁拖动位图。计算当前放置位置并将当前拖动 View 添加到布局中的该位置。取消隐藏当前拖动 View 。重置拖动成员。

在父布局的onDraw中。

canvas.save();
canvas.drawBitmap(mDragBmp, mDragX, mDragY);
canvas.restore();

关于android - 设计可移动 View : Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109337/

相关文章:

Android Gradle - 如何包含根项目中的 Assets ?

android - rsUnpackColor8888() 与 float4 convert_float4(char4 v) 的区别是什么 - Android/Renderscript

android - 源代码中按钮的按住事件

Android HttpClient 内存不足错误(xml 数据)

android - 在 Android 中使用 AES 加密的最佳做法是什么?

android - 按下BACK后如何用软键盘关闭Activity?

microsoft-metro - 我想为我的 android 应用程序设计一个 metro 风格的用户界面

java - viewHolder.setItemClickListener() 不起作用

android - 如何在android中打印3d字符串

java - 如何拉伸(stretch)ImageView中的图像?