2011-06-04 129 views
6

我的工作,我想隱藏按鈕的應用程序,或者說,使按鈕無形當我觸摸屏幕,並再次使按鈕可見再次顯示當我再次觸摸屏幕。隱藏按鈕和觸摸

如何,我可以做到嗎?

回答

9

實現一個onTouchListener

// Catch touch events here 
@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     System.out.println("Touch Down X:" + event.getX() + " Y:" + event.getY()); 
    } 
    if (event.getAction() == MotionEvent.ACTION_UP) { 
     System.out.println("Touch Up X:" + event.getX() + " Y:" + event.getY()); 
    } 
    return super.onTouchEvent(event); 
} 

然後在這你要引用按鈕,並設置它的可見性:

button1.setVisibility(View.VISIBLE); or View.INVISIBLE 
+2

'View.GONE'也可能是有用的。 – joey 2011-06-04 10:00:07

0

試試這個。它可能會解決你的問題。

LinearLayout mainLay = (LinearLayout) findViewById(R.id.lLay); 
    int flagForButton = 0; 
    Button b1 = new Button(this); 
    b1.setVisibility(0); 

    mainLay .setOnTouchListener(new OnTouch Listener) 
    { 
     public boolean onTouchEvent(MotionEvent event) 
     { 
      int action = event.getAction(); 
      if (action==0) 
      { 
      } 
      else 
       if (action == 1) 
       { 
        if (flagForButton ==1) 
        { 
         b1.setVisibility(0); 
         flagForButton = 0; 
        } 
        else 
        { 
         b1.setVisibility(4); 
         flagForButton = 1; 
        } 
       } 
     } 
    });