안녕하세요, 그롱입니다
이번 글은 안드로이드에서 버튼 누르는 것을 막고자 할 때 사용할 수 있는 방법에 대해서 말씀드리겠습니다
추가로 버튼을 누른 후에 몇 초간만 일시적으로 막고 싶을 때 쓸 수 있는 방법도 포함합니다!
버튼 활성화/비활성화
대표적인 코드로 사용하고 있는 버튼명에 setEnabled() 속성을 설정하면 됩니다
비활성화
yourButton.setEnabled(false)
활성화
yourButton.setEnabled(true);
이렇게 하면 기본적으로 안드로이드 버튼을 활성화/비활성화할 수 있습니다
하지만 누르고 몇 초간 버튼 입력을 막고 싶다면?
버튼 일시적 비활성화
안드로이드의 실행 지연 구조인 postDelayed를 활용하면 됩니다
new Handler().postDelayed(new Runnable(){
@Override
public void run()
{
}
}, milisecond);
이 코드는 run() 안에 실행할 문장을 넣고
millisecond 자리에 1초 기준=1000의 정수를 써주시면
millisecond 이후로 run() 안의 문장이 실행됩니다
이걸 기초로
yourButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
yourButton.setEnabled(false); //버튼 비활성화
new Handler().postDelayed(new Runnable(){
@Override
public void run()
{
yourButton.setEnabled(true); //버튼 활성화
Log.d(TAG,"yourButton has Enabled");
}
}, 3000); //run 안의 문장들을 3초 후 실행
}
});
이런 구조를 만들어주면
버튼을 누를 시 비활성화 → 3초 지연 후 다시 활성화의 과정을 거쳐
일시적으로 버튼을 비활성화할 수 있습니다
도움이 됐으면 좋겠습니다!
좋은 하루 보내세요 :)
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드(삼성) 부팅 경고 제거 및 부팅 이미지 변경 [Magisk] (1) | 2022.07.28 |
---|