How can I post a double-click event on an ImageView in Android?

I need to place a double click event in the image view. Each time you double-click on the image, it should be Zoom.But. I found that an event like double-clicking in Image Veiw does not exist. Can someone tell me how to do this? Thanks at Advance ..

+5
source share
5 answers

Try this approach:

  • add boolean doubleClick = false;
  • and Handler doubleHandler
  • in onClick check if doubleClick is true
  • if true, this is a double click
  • if not, set doubleClickto true and use handlers postDelayedto set it back to false after ie 500 ms
+11
source

, onClick(), Handler, Handler onClick(). , onClick().

boolean isDoubleCliked=false;


Handler handler=new Handler();
Runnable r=new Runnable(){
  @Override
  public void run(){
    //Actions when Single Clicked
    isDoubleCliked=false;
  }
}

tv.setOnClickListener(new onClickListener){
  @Override
  public void onClick(View view){
    if(isDoubleClicked){
      //Actions when double Clicked
      isDoubleCliked=false;
      //remove callbacks for Handlers
      handler.removeCallbacks(r);
    }else{
      isDoubleCliked=true;
      handler.postDelayed(r,500);
    }

  }

}
+2

onDoubleTapListener.

.

+1

-

private var doubleClickLastTime = 0L
view.setOnClickListener {
        if(System.currentTimeMillis() - doubleClickLastTime < 300){
            doubleClickLastTime = 0
            doAction()
        }else{
            doubleClickLastTime = System.currentTimeMillis()
        }
    }
+1

Maaalte .

doubleClick

   boolean  doubleClick = false;

 imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                Runnable r = new Runnable() {
                    @Override
                    public void run() {

                        doubleClick = false;
                    }
                };

                if (doubleClick) {

           //your logic for double click action
                    doubleClick = false;

                }else {
                    doubleClick=true;
                    handler.postDelayed(r, 500);
                }

            }


        });
0

All Articles