2015-05-11 33 views
0

嗨即时通讯尝试在android http://www.puffgames.com/bubblewrap/上重新创建此游戏,我成功地为一个gridview充气并且能够在单击时更改单个项目上的背景,但是我试图重新创建“疯子模式”,在其他当我滑动时,字会得到所有的意见,这可能吗?如果是的话如何?请帮助获取刷卡的意见

mGridView.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if(event.getAction() == MotionEvent.ACTION_MOVE){ 
       return true; 
      } 
      return false; 
     } 
    }); 

回答

0

在那里,你应该能够做这样的事

mGridView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     if(event.getAction() == MotionEvent.ACTION_MOVE){ 
      int position = mGridView.pointToPosition(event.getX(),event.getY()); 
      if(position!=-1){ 
       //what ever you need to do to pop the bubble 
       adapter.popBubble(position); 
      } 
      return true; 
     } 
     return false; 
    } 
}); 
+0

非常感谢你,我会去尝试一下,它比我想象的更简单 –

0

,我发现我的问题的解决方案如下:

final GridView layout = (GridView)parentView; 

    parentView.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      for(int i =0; i< layout.getChildCount(); i++){ 
       View view = layout.getChildAt(i); 
       Rect outRect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()); 
       if(outRect.contains((int)event.getX(), (int)event.getY())){ 
        mBubble = (ImageView) view.findViewById(R.id.img_bubble); 
        if(mSavedStates.get(i)){ 
         mSavedStates.remove(i); 
         mSavedStates.put(i,false); 
         mBubble.setBackgroundResource(R.drawable.ic_emptybubble); 
         playRandomSound(); 

         ThreadType2 task = new ThreadType2(new RunnableType2() { 
          @Override 
          public void run(View view, int position) { 
           mSupporBubble = (ImageView) view.findViewById(R.id.img_bubble); 
           mSavedStates.remove(position); 
           mSavedStates.put(position, true); 

           MainActivity.this.runOnUiThread(new Runnable() { 
            @Override 
            public void run() { 
             mSupporBubble.setBackgroundResource(R.drawable.ic_fullbubble); 
            } 
           }); 
          } 
         }); 
         task.start(view, i); 

        } 

       } 
      } 

      return true; 
     } 
    });