Скрыть кнопку и показать снова на ощупь - PullRequest
6 голосов
/ 04 июня 2011

Я работаю над приложением, в котором хочу спрятать кнопку или, скажем, сделать кнопку невидимой при касании экрана и снова сделать кнопку видно когда я снова касаюсь экрана.

Как я могу это сделать?

Ответы [ 2 ]

9 голосов
/ 04 июня 2011

Реализация 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
0 голосов
/ 04 июня 2011

Попробуй это.Это может решить вашу проблему.

    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;
                    }
                }
        }
    });
...