0

我正在制作一个儿童游戏,上面有字母,下面有随机图像。当我将图像(如苹果)拖到字母“a”时,它应该会弹出一个说它是正确的。谁能指导我如何实现这个想法???

4

1 回答 1

2

我想你要问的是:

  1. 布局内的可拖动视图
  2. 碰撞算法
  3. QuickAction 对话框或不可见对话框(用于弹出窗口)

1.

public void setDraggable(final View view)
{
    final LayoutParams lp1 ;
    lp1 = (LayoutParams) view.getLayoutParams();
    final int width = getWindowManager().getDefaultDisplay().getWidth();
    final int height = getWindowManager().getDefaultDisplay().getHeight();
    view.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            view.bringToFront();
            switch(event.getAction())
            {
            case(MotionEvent.ACTION_DOWN):
            {
                break;
            }
            case(MotionEvent.ACTION_MOVE):
            {
                if((event.getRawX()+(view.getWidth()/2))<width&&((event.getRawX()+(view.getWidth()/2)) > view.getWidth()))
                    lp1.leftMargin = (int) event.getRawX() - (view.getWidth()/2);
                if((event.getRawY()-view.getHeight())<height&&(event.getRawY()-view.getHeight())>0)
                    lp1.topMargin = (int) event.getRawY() - view.getHeight();           
                view.setLayoutParams(lp1);
                break;
            }
            case(MotionEvent.ACTION_UP):
            {
            }

            }
            return true;
        }
    });     
}

基本上它所做的就是改变视图的边距,使其看起来像在移动。在此处使用相对布局

2.) 我在这里给你一个提示。应用程序内的所有视图/图像都是矩形的,因此只需获取视图的所有边(以像素为单位),然后使用 if-else 语句。

3.) http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/ 或者你可以简单地使用 setVisibility

于 2012-10-14T16:08:38.397 回答