Android'in dokunma olayının nasıl işlediğini anlamaya çalıştım ve biraz kafam karıştı. Dokunma olayını anladığımdan kök görünüme gönderilir ve çocuklara geçer. Fragment
için bir kapsayıcı olan FrameLayout
var. İlk parça görünümü ScrollView
, ikincisi bir çeşit Gallery
(HorizontalListView) ve sonuncusu da FrameLayout
. Her zaman düzende sadece bir parça. Yapmak istediğim, uygulama kullanımı için ekrandaki kullanıcı parmaklarını tanımlamaktır. Swipes'ı saymak ve bir miktar swipe sonra bir şeyler yapmak istiyorum. OnTouch olayını ebeveyn tarafından yakalayın, işleyin ve çocuklara iletin
FrameLayout
bir
OnTouchListener
koymak için çalıştı ama çocuk
ScrollView
veya
Gallery
olduğunda adlı değil.
onTouch
'un sonunda
false
ve
true
'u döndürmeye çalıştım, ancak aynı sonucu elde ediyorum - asla çağrılmadı.
Bunu nasıl yapabilirim? Sadece dokunma olaylarını "şeffaf olarak" işlemek ve onlara dokunmadığım gibi onları iletmek istiyorum.
'da bu yöntemi geçersiz kılabileceğinizi unutmayın. 'FrameLayout' öğesini genişlettim, bahsettiğiniz yöntemi geçersiz kıldım ve 'MotionEvent' öğesini bir "GestureDetector" a gönderdim. Bütün bu konu biraz kafa karıştırıcı. Teşekkürler! – Elad92
@ Elad92, bahsettiğiniz gibi bu 2d kaydırma kodunu değiştirmeme yardımcı olabilir misiniz? https://gist.github.com/LOG-TAG/0505eedccef9e00821da, MotionEvent'i bir GestureDetector_ –
'a nasıl gönderebileceğimizi anlamadıysanız, bu http://stackoverflow.com/questions/26354263/catch-ontouch- event-by-custom-2d-scrollview-parent-handle-it-ve-pass-to-childr –