Soru & Cevap

Ekrana dokunma olayı ...

18.08.2014 - 10:24

Arkadaşlar merhaba. Ben yaptığım uygulamada ekrana dokunulduğunun, parmağın gezdirildiğinin v.s. olaylarını yakalamaya çalışıyorum. Bunun için ;

    public boolean onTouchEvent(MotionEvent event){
         int eventaction = event.getAction();

            switch (eventaction) {
                case MotionEvent.ACTION_DOWN:
                   Log.d("Dokunıulduasdasdasdasdgf", "Dokunulduasdsadasdas");
                    break;

                case MotionEvent.ACTION_MOVE:
                    Toast.makeText(ItirafOku.this,"Dokunma devam ediyor",Toast.LENGTH_LONG).show();
                    break;

                case MotionEvent.ACTION_UP:   
                    Toast.makeText(ItirafOku.this,"parmak kalktı",Toast.LENGTH_LONG).show();
                    break;
            }


            return   super.onTouchEvent (event);
        
    }

Şeklinde bir kod kullanıyoruma ama işlem gerçekleşmiyor.Yardımcı olabilir misiniz?Teşekkürler

302 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-1372-1408467635.jpg
ahmtbrk
19.08.2014 - 07:43

[code]

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
         switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: 
                Log.i("onTouchEvent","actionDown");
                break;

            case MotionEvent.ACTION_MOVE:
                // finger moves on the screen
                Log.i("onTouchEvent","actionMove");
                break;

            case MotionEvent.ACTION_UP:   
                // finger leaves the screen
                Log.i("onTouchEvent","actionUp");
                break;
        }

        // tell the system that we handled the event and no further processing is required
        return true; 
    }
}

[/code]

sorunsuz çalışıyor bu

Hakan
19.08.2014 - 09:37
Çok teşekkürler
Profile picture for user simonsero
simonsero
18.08.2014 - 11:20

http://androidbite.blogspot.com.tr/2012/10/android-paint-example.html

Bu kodda istediklerin var heralde 

Eyup
18.08.2014 - 11:23
yada switch kısmını şu şekilde değişirsende çalışır switch (event.getAction()) { case MotionEvent.ACTION_DOWN: drawPath.moveTo(touchX, touchY); break; case MotionEvent.ACTION_MOVE: drawPath.lineTo(touchX, touchY); break; case MotionEvent.ACTION_UP: drawCanvas.drawPath(drawPath, drawPaint); drawPath.reset(); break; default: return false; }
Hakan
18.08.2014 - 11:26
teşekkürler ama ben sadece ekrana dokunulduğunu ve dokunulmadığını yakalamak istiyorum.Bunu nasıl yapabilirim?
Eyup
19.08.2014 - 12:50
switch (event.getAction()) { case MotionEvent.ACTION_DOWN: Log.d("Dokunıulduasdasdasdasdgf", "Dokunulduasdsadasdas"); break; case MotionEvent.ACTION_MOVE: drawPath.lineTo(touchX, touchY); break; case MotionEvent.ACTION_UP: Log.d("Dokunıulduasdasdasdasdgf", "Dokunulduasdsadasdas"); break; default: return false; } Bu işini görür
Hakan
19.08.2014 - 01:10
Teşekkürler
picture-1372-1408467635.jpg
ahmtbrk
18.08.2014 - 10:36

http://www.androidsnippets.com/handle-touch-events-ontouchevent

bu şekilde sorunsuz calısıyor bende de.

@Override annotationu ile dahil eder misin

Hakan
18.08.2014 - 10:45
ben de burdaki kodu kopyalayıp yapıştırdım ama çalışmadı. Acaba tam olarak nereye koydunuz kod parçasını.Ve nasıl çalıştırdınız?
Ahmet Burak Demirkoparan
19.08.2014 - 07:26
@Override methodun bi üstüne eklenir
Hakan
19.08.2014 - 07:30
:) onu elbette biliyorum. Sorduğum bu metod herhangi bir başka metodun içinde mi kullanılıyor.