Wpis z mikrobloga

Mirki, zawiesiłem się. Postanowiłem się zająć tym małym tutorialem: http://docs.xamarin.com/recipes/android/other_ux/gestures/detect_a_touch/ - niby się wszystko ładnie uruchamia i fajnie działa. Można sobie poruszać przyciskiem w lewo i w prawo, ale pojawia się problem przy ruchach w dół i w górę. Zrobiłem analogiczne obliczenia dla współrzędnej y, ale przycisk przy wykryciu ruchu zjeżdża o pewną wartość do dołu. Domyślam się, a nawet jestem pewny, że to szerokość ramki zaznaczonej na czerwono. Teraz pytanie: jak wyciągnąć jej szerokość? Probowałem liczyć z palca różnicę w wymiarze ekranu a layoutu, w którym znajduje się przycisk i dodawać ją do współrzędnej pionowej. Nie podziałało ani dla view, ani dla buttonu bezpośrednio. Jak inaczej można to zrobić? Może istnieje metoda w stylu ScreenToView()? Pomóżcie, bo mi to nie daje spokoju (nie powiem od jak długiego czasu, bo wyjdę na totalnego debila xD )

W szczególności wołam mirków specjalistów: @Rainey @Rev i jeszcze @kielonek

#csharp #android #xamarin
Pobierz
źródło: comment_xx8TbYo7IEWZv0QKWFjbwu4XTof8nrHL.jpg
  • 5
@Rainey: Dobra, posiedziałem przy tym jeszcze trochę i już wiem co i jak - palec przyciska w punkcie (RawX, RawY), dostosowana do moich potrzeb szerokość ekranu to WindowManager.DefaultDisplay.Width, szerokość analogicznie. Do Layoutu wyciągam Left i Bottom, odpowiadające wartości odjęte od siebie dają liczbę, którą należy odjąć od współrzędnych raw. I wtedy lewy górny róg przycisku znajdzie się równo pod palcem.

A co robiłem źle? Wyciągałem Left i Bottom z Layoutu zanim