안드로이드 개발 질문/답변
(글 수 45,052)
그림을 누르면 그림이 사라지고,
빈 영역을 누르면 다시 그림이 나타나는 동작을 하고 싶은데요.
그런데 그림을 누르면 사라지기는 하는데,
INVISIBLE된 뷰가 다시 나타나질 않네요.
Toast로 확인해보니 아예 OnTouch함수가 호출되지 않는 것 같아요.
레퍼런스에 의하면 VISIBLE, INVISIBLE, GONE가 있는데
INVISIBLE은 보이지는 않지만, 레이아웃에 공간은 차지하고 있기 때문에 동작할거라고 생각했거든요.
문제점이나 다른 방법 있으시면 부탁드립니다.
vw.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Toast.makeText(HnadlerOrder.this, "Listener:TouchEvent Received", Toast.LENGTH_SHORT).show();
if(event.getAction() == MotionEvent.ACTION_DOWN){
if(v.getVisibility() == View.VISIBLE)
v.setVisibility(View.INVISIBLE);
else
v.setVisibility(View.VISIBLE);
return true;
}
return false;
}
});
INVISBLE을 할 경우 화면에 보이지도 않고 동작 자체도 하지 않습니다.
그냥 버튼을 안보이게 하고자 하는 경우 INVISIBLE이나 VISIBLE보다는
투명처리를 하시는게 나을 듯 싶네요.