Tworzę listę zdjęć przy użyciu ListView, a zdjęcia mają rozmiar, który zmieściłby od 2 do 3 zdjęć na ekranie.Widok listy Przyciągnij do pozycji
Problem, który mam, polega na tym, że chciałbym, aby użytkownik przestał przewijać, aby pierwszy element widocznej listy został przyciągnięty do górnej części ekranu, na przykład, jeśli przewijanie się zakończy i mała część pierwsze wyświetlane zdjęcie, przewijamy listę tak, aby obraz był zawsze w pełni wyświetlany, jeśli wyświetla się głównie obraz, przewijamy listę tak, aby następny obraz był w pełni widoczny.
Czy istnieje sposób osiągnięcia tego w Androidzie z listview?
Jeśli chcesz, aby był płynny, spróbuj użyć widoku ((ListView)).smoothScrollToPosition (pos); – stealthcopter
Dwa problemy z wykonaniem tego: 1) smoothScrollToPosition spowoduje, że powyższa logika wykryje kolejny zwój i przejdzie do niestabilnej pętli - możesz tego uniknąć, usuwając skrzynkę dla SCROLL_STATE_FLING, ale nie jestem pewien, czy to dobra poprawka. 2) smoothScrollToPosition nie wyrównuje rzeczy poprawnie, przynajmniej z moimi listami. Przewija górną część określonego elementu do 15 pikseli powyżej wierzchołka listy, zamiast dopasowywać rzeczy poprawnie, tak jak to robi setSelection/setSelectionFromTop. – benkc
Jakieś płynne rozwiązanie? – benkol