블로그 이미지
JoyfulLife

공지사항

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

OnTouchListener 구현

2009.12.15 14:34 | Posted by JoyfulLife
안드로이드에서 터치를 구현해보았다.
클릭으로 하려고 했는데 Fring 처럼 이쁘게 보이게 하기 위해서 버튼에 백그라운드 이미지를 넣으니 클릭감이 없어졌다.
클릭감을 주기 위해서 터치했을 때 배경 화면이 바껴서 내가 지금 터치를 했다는 것을 시각적으로 보여주려고 했다.

아래는 원본 소스이다. 특이한 점은 버튼마다 TouchListener 를 주지 않았다는 것이다.
onTouchListener를 하나 만들어서 View를 통해서 어디서 터치가 일어났는가 알아와서 버튼의 있는 그림을 바꿔 주는 것이다.
어떻게 하면 클릭된 객체를 알아올 수 있을까 고민을 했는데
간단하게
Button b=(Button)v
로 해결을 했다.

Button 도 View의 일종이어서 이런 코딩이 가능한 것 같다.

package com.testedittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;

public class edittexttest extends Activity {
    /** Called when the activity is first created. */
    Button b1;
    Button b2;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
         b1=(Button)findViewById(R.id.Button02);
         b2=(Button)findViewById(R.id.Button01);
         b1.setOnTouchListener(mTouchEvent);
         b2.setOnTouchListener(mTouchEvent);
      
    }
 
    private  OnTouchListener mTouchEvent = new OnTouchListener()
    {
        public boolean onTouch(View v, MotionEvent event)
        {
           
            Button b=(Button)v;
           
            int action=event.getAction();
           
            if(action==MotionEvent.ACTION_DOWN)
            {
                b.setBackgroundResource(R.drawable.backimg1);
                System.out.println("x="+event.getX()+" y="+event.getY());
            }
            else if(action==MotionEvent.ACTION_UP){
                b.setBackgroundResource(R.drawable.backimg2);
                System.out.println("x="+event.getX()+" y="+event.getY());
            }
            return true;
        }
    };
   
}
신고

'안드로이드' 카테고리의 다른 글

I can send my voice to another phone  (0) 2009.12.30
Notification fail  (0) 2009.12.23
OnTouchListener 구현  (0) 2009.12.15
ObjectOutputStream  (0) 2009.12.09
RC29로 다운 그레이드가 안됩니다.  (0) 2009.12.02
단말  (0) 2009.11.29

티스토리 툴바