반응형
새해가 밝았네요 모두 새해복 많이 받으셨나요?
항상 블로그를 운영하면서 글을 제때제때 못올리다보니
공부한 내용들을 하나도 올리지 못했네요 ㅠ.ㅠ
이제부터라도 꾸준하게 맘 잡고 올리도록 하겠습니다.
이번에 적을 내용은 버튼을 클릭했을 때 반응을 하는 부분에 대하여 글을 올립니다.
안드로이드 개발시 버튼 클릭 할 때 개발자가 준비한 버튼 이미지나 색상들을 적용시켜서 동작 하는데요.
제가 설명할 방법은 두가지가 됩니다.
1. 버튼 클릭 시 Touch 이벤트를 적용, ACTION_DOWN 과 ACTION_UP 을 이용해서 버튼의 그림을 변경.
예전에는 위와 같은 방법을 사용해서 default 이미지와 클릭시 이미지를 번갈아 사용을 했었습니다.
요즘 사용하는 방법은 xml Selector 를 사용하는 방법인데요 이는 다음과 같습니다.
2. xml에서 selector 를 구현하는 방법
우선 xml 폴더나 drawable 등의 폴더에서 임의의 xml을 생성합니다.
그리고 xml을 다음과 같이 설정합니다.
그리고 이 xml 파일을 해당 버튼의 android:background="해당 xml 파일" 와 같이 설정해주시면 이벤트가 잘 적용되는 것을 확인할 수 있습니다.
두가지 방법에서 편한 방법을 사용하시면 될듯 한데 저는 2번 방법이 요즘에 무지 편한거 같네요 소스 보기도 편한거 같고 하하
글 읽어 주셔서 감사하구요~ 오늘도 좋은 하루되세요^^
항상 블로그를 운영하면서 글을 제때제때 못올리다보니
공부한 내용들을 하나도 올리지 못했네요 ㅠ.ㅠ
이제부터라도 꾸준하게 맘 잡고 올리도록 하겠습니다.
이번에 적을 내용은 버튼을 클릭했을 때 반응을 하는 부분에 대하여 글을 올립니다.
안드로이드 개발시 버튼 클릭 할 때 개발자가 준비한 버튼 이미지나 색상들을 적용시켜서 동작 하는데요.
제가 설명할 방법은 두가지가 됩니다.
1. 버튼 클릭 시 Touch 이벤트를 적용, ACTION_DOWN 과 ACTION_UP 을 이용해서 버튼의 그림을 변경.
about_bt = (Button)findViewById(R.id.about_bt); about_bt.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(this, 액티비티 실행할 클래스); startActivity(intent); // 클릭 이벤트에 액티비티 실행 } }); about_bt.setOnTouchListener(new OnTouchListener() { //버튼 터치시 이벤트 public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) // 버튼을 누르고 있을 때 about_bt.setBackgroundResource(drawable.이미지); if(event.getAction() == MotionEvent.ACTION_UP){ //버튼에서 손을 떼었을 때 about_bt.setBackgroundResource(drawable.이미지); } return false; } });
예전에는 위와 같은 방법을 사용해서 default 이미지와 클릭시 이미지를 번갈아 사용을 했었습니다.
요즘 사용하는 방법은 xml Selector 를 사용하는 방법인데요 이는 다음과 같습니다.
2. xml에서 selector 를 구현하는 방법
우선 xml 폴더나 drawable 등의 폴더에서 임의의 xml을 생성합니다.
그리고 xml을 다음과 같이 설정합니다.
그리고 이 xml 파일을 해당 버튼의 android:background="해당 xml 파일" 와 같이 설정해주시면 이벤트가 잘 적용되는 것을 확인할 수 있습니다.
두가지 방법에서 편한 방법을 사용하시면 될듯 한데 저는 2번 방법이 요즘에 무지 편한거 같네요 소스 보기도 편한거 같고 하하
글 읽어 주셔서 감사하구요~ 오늘도 좋은 하루되세요^^
반응형
'개발자 > Android' 카테고리의 다른 글
[안드로이드] 화면 크기 구하기 (0) | 2012.01.15 |
---|---|
<Android> 안드로이드 리스트 뷰를 내 맘대로 사용하자(커스텀 리스트뷰) (49) | 2012.01.03 |
[Android, Java] 소켓 연결시 연결시간 설정 (1) | 2011.12.01 |
안드로이드 위젯 표준 지정 크기 (0) | 2011.09.29 |
D-Day 계산 알고리즘 (날짜 오차 안나도록) (9) | 2011.09.10 |
댓글