当前位置:  开发笔记 > 编程语言 > 正文

是否可以使用标准的android apis在屏幕上移动组件?

如何解决《是否可以使用标准的androidapis在屏幕上移动组件?》经验,为你挑选了1个好方法。

我想创建一个android用户界面,允许用户通过选择它们然后拖动它们来移动添加components/ widgets围绕屏幕.

这可能使用标准的android apis吗?



1> allclaws..:

是.这取决于你想要实现的目标.

它可以使用标准API完成,但此功能不是标准API的一部分.也就是说,widget.DragOverHere()除非你写一个方法,否则没有方法.

也就是说,这样做并不是非常复杂.至少,您需要编写View的自定义子类并实现两个方法:onDraw(Canvas c)onTouch(MotionEvent e).粗略草图:

class MyView extends View {

    int x, y;  //the x-y coordinates of the icon (top-left corner)
    Bitmap bitmap; //the icon you are dragging around

    onDraw(Canvas c) {
      canvas.drawBitmap(x, y, bitmap);
    }

    onTouch(MotionEvent e) {
      switch(e.getAction()) {
      case MotionEvent.ACTION_DOWN:
        //maybe use a different bitmap to indicate 'selected'
        break;
      case MotionEvent.ACTION_MOVE:
        x = (int)e.getX();
        y = (int)e.getY();
        break;
      case MotionEvent.ACTION_UP:
        //switch back to 'unselected' bitmap
        break;
      }
      invalidate(); //redraw the view
    }
}

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有