Chcę poznać rzeczywistą różnicę między nimi ... Kiedy należy używać każdego z nich, w jaki sposób i w jakich sytuacjach są one pomocne?
Podaj przykłady i szczegółowo je wyjaśnij.
Chcę poznać rzeczywistą różnicę między nimi ... Kiedy należy używać każdego z nich, w jaki sposób i w jakich sytuacjach są one pomocne?
Podaj przykłady i szczegółowo je wyjaśnij.
Odpowiedzi:
Jest to wyjaśnione na blogu programistów Androida: http://android-developers.blogspot.co.at/2008/12/touch-mode.html
Poniższe cytaty powinny to wyjaśnić:
Sam tryb dotykowy jest bardzo łatwy do zrozumienia, ponieważ po prostu wskazuje, czy ostatnia interakcja użytkownika została wykonana z ekranem dotykowym. Na przykład, jeśli używasz telefonu G1, wybranie widżetu za pomocą trackballa spowoduje wyjście z trybu dotykowego;
...
W trybie dotykowym nie ma ostrości ani wyboru. Każdy wybrany element na liście lub w siatce staje się odznaczony, gdy tylko użytkownik przejdzie w tryb dotykowy. Podobnie, wszystkie widżety, na których skupiono się, tracą ostrość, gdy użytkownik przechodzi w tryb dotykowy.
...
Teraz, gdy wiesz, że fokus nie istnieje w trybie dotykowym, muszę wyjaśnić, że nie jest to do końca prawda. Fokus może istnieć w trybie dotykowym, ale w bardzo szczególny sposób nazywamy fokusem w trybie dotykowym. Ten specjalny tryb został utworzony dla widżetów, które odbierają tekst, takich jak EditText lub, gdy filtrowanie jest włączone, ListView.
...
Aktywowana w trybie dotykowym to właściwość, którą można ustawić samodzielnie za pomocą kodu lub XML. Należy go jednak używać oszczędnie i tylko w bardzo specyficznych sytuacjach, ponieważ narusza spójność z normalnym zachowaniem Androida. Gra jest dobrym przykładem aplikacji, która może dobrze wykorzystać właściwość, którą można ustawić w trybie dotykowym. MapView, jeśli jest używany w trybie pełnoekranowym, tak jak w Mapach Google, jest kolejnym dobrym przykładem tego, gdzie można poprawnie używać ustawiania ostrości w trybie dotykowym.
Podaj przykład i szczegółowo je wyjaśnij
Dam ci własne doświadczenie:
Miałem aplikację Google TV, która miała aktywność z dużą liczbą ImageButtons.
Chciałem, aby przyciski ImageButtons były dostępne.
Więc jeśli ktoś kliknie je myszą lub pilotem, zostaną one wybrane (w moim przypadku podświetlone). Następnie, jeśli użytkownik naciśnie wybrany ImageButton
, akcja zostaje wyzwolona. To dokładne zachowanie osiągnięto poprzez włączenie focusableInTouchMode
właściwości za pomocą układu XML.
Wszystko, co musiałem zrobić, to ustawić zwykłe onClickListener
przyciski ImageButtons i voila!
Nie sprawdzałem swojej aplikacji na słuchawce, ale myślę, że przyniosłaby znajomy wynik.
Gdy?
Powiedziałem Ci przypadek użycia, który przetestowałem: Kiedy chcesz, aby Twój Button onClickListener
wyzwalał akcję przy drugim kliknięciu, po pierwszym kliknięciu i wybraniu Button
.
Użyłem pierwszego kliknięcia, aby uzyskać „fokus” i wyświetlić animację powiększania powiększenia na moim przycisku.
W jaki sposób?
Wystarczy ustawić własność Buttona focusableInTouchMode
się true
w pliku XML szablonu.
Skupiony to stan widoku i ogólnie fokus można zmienić za pomocą trackballa i manipulatora. Twój widok może mieć inne tło, gdy koncentruje się na stanie.
Możliwość ustawiania ostrości w trybie dotykowym umożliwia skupienie się na widoku, gdy użytkownik dotyka widoku, dobrym przykładem jest tego rodzaju element EditText
.
Z Button
lub jakikolwiek klikalny komponent jest zwykle tym, co Cię interesuje.
Użytkownicy mogą wchodzić w interakcję ze swoimi urządzeniami za pomocą klawiszy lub przycisków sprzętowych lub dotykając ekranu. Dotknięcie ekranu przełącza urządzenie w tryb dotykowy. Użytkownik może następnie wchodzić z nim w interakcję, dotykając wirtualnych przycisków na ekranie, obrazów itp.
Aby sprawdzić, czy urządzenie jest w trybie dotykowym, wywołaj metodę isInTouchMode () klasy View .