W jednym z moich poprzednich questions, zapytałem (i odpowiedziałem sobie po wpisie na blogu this), w jaki sposób poprawnie obsłużyć kluczowe wejście na RecyclerView
.Dodanie poprawnej obsługi klawiatury do RecyclerView
Teraz zdałem sobie sprawę, że jeśli trzymać wciśnięty klawisz strzałki, powiedzmy w dół klucza, przewijanie w dół zatrzymuje i RecyclerView
traci ostrość, prawdopodobnie dlatego, że przewijanie jest szybsze niż wytwarzanie wszystkich dzieci View
s.
Czy istnieje jakieś obejście lub lepsza praktyka w prawidłowym obsługiwaniu wejść klawiatury sprzętowej w urządzeniu RecyclerView
?
Aktualizacja:
wydałem podstawowy przykład here, to działa bez zarzutu teraz, nie ma bardziej skupić straty.
Do masz [mcve]? Właśnie dodałem obsługę klawiatury do wczoraj 'RecyclerView', podobnie jak to robiłeś. W moim przypadku jest to pełnoekranowy widok "RecyclerView", więc nie miałem żadnych problemów z ustawieniem ostrości. Łatwiej będzie ludziom pomóc w rozwiązaniu problemu, jeśli mamy konkretną implementację problemu. – CommonsWare
@CommonsWare utworzę mój przykład jak najszybciej. Myślę, że możesz spróbować dodać widok z możliwością ustawiania ostrości (np. Przycisk) poniżej swojego RecyclerView i użyć dużego zestawu danych w adapterze, powiedzmy, 100 elementów. Powinieneś zobaczyć ostrość zachowując się dziwnie. – Vektor88
Będę szturchnął to bardziej jutro. Widziałem inne dziwne wyniki (np. Efekt rozmazywania). Myślę, że być może powinniśmy poczekać, aby zaktualizować 'RecyclerView' po raz drugi, aż po zakończeniu przetwarzania, a nie po jednym zdarzeniu kluczowym. Wszystko, co jest powiedziane, mając widok, który można ustawić pod listą przewijaną w pionie, nie jest dobrym UX na klawiaturze. Będziesz rozmawiać o tego rodzaju rzeczach w zakresie pisania aplikacji dla Android TV (lub jego poprzednika Google TV, Fire TV, itp.). – CommonsWare