我正在制作一个儿童游戏,上面有字母,下面有随机图像。当我将图像(如苹果)拖到字母“a”时,它应该会弹出一个说它是正确的。谁能指导我如何实现这个想法???
问问题
646 次
1 回答
2
我想你要问的是:
- 布局内的可拖动视图
- 碰撞算法
- 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 回答