Chcę, aby przycisk obrazu obracał się podczas zmiany orientacji urządzenia. Powinien obracać się o 90, 180, 270 i 360 kątów, a jego względny układ powinien pozostać stały, tak aby tylko przyciski się poruszały. Jak to zrobić? Zrobiłem trochę badań, ale nie znalazłem nic, co mogłoby mi pomóc.Jak obracać przyciski przy zmianie orientacji bez obracania układu?
Odpowiedz
można wykryć zmiany orientacji nadrzędnymi takiego:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//call your rotate method here
}
Wtedy gdy wykryje zdarzenie zmiany orientacji, można wykonać animowany obrót na przycisk jak ten:
public void rotateView(View view) {
Button button = (Button) view.findViewById(R.id.some_button);
RotateAnimation rotateAnimation = new RotateAnimation(0, 360);
rotateAnimation.setDuration(2000);
button.startAnimation(rotateAnimation);
}
Możesz ustawić początkowy i końcowy kąt w konstruktorze RotateAnimation
, a następnie ustawić czas trwania animacji (w milisekundach). Następnie po prostu zadzwoń pod numer startAnimation()
w widoku, który chcesz animować.
Dziękuję, @drschultz, twoja odpowiedź jest świetna, problem polega na tym, że moja orientacja w działaniu jest stała i naConfigurationChanged zawsze daje taki sam wynik. Powiedziałbym to, gdybym wiedział, jak podejść do tego problemu. Masz pomysł, jak wykryć orientację za pomocą osi X i Y za pomocą SensorEventListener? –
Jeśli orientacja ekranu jest zablokowana i nie można go obrócić, wówczas niestety trzeba obliczyć własne wartości obrotu za pomocą danych czujnika. Właśnie tam sprawy stają się dość skomplikowane. Możesz przeczytać o [Android Sensors w dokumentacji tutaj] (http://developer.android.com/guide/topics/sensors/sensors_overview.html), a żeby zobaczyć przykłady kodu, możesz znaleźć dobre odpowiedzi na temat przepełnienia stosu jak [tutaj to pytanie] (http://stackoverflow.com/questions/27106607/get-rotation-and-display-in-degrees). Ale otworzyłbym nowe pytanie, jeśli nadal potrzebujesz pomocy przy czujnikach. – NoChinDeluxe
Jeśli chodzi o to pytanie, uprzejmie proszę o zaakceptowanie mojej odpowiedzi, ponieważ odpowiada ona na twoje pierwotne pytanie (i może pomóc innym w przyszłości z podobnym pytaniem). Następnie możesz otworzyć nowe pytanie, jeśli potrzebujesz pomocy w zakresie wdrażania danych z czujników. – NoChinDeluxe
- 1. Zmiana UIView przy zmianie orientacji
- 2. Moje widoki są resetowane przy zmianie orientacji
- 3. Zmiany w układzie Xml przy zmianie orientacji
- 4. Obsługa elementu sztyletu przy zmianie orientacji
- 5. FragmentActivity z ViewPager: Awaria przy zmianie orientacji
- 6. Android Jak obracać igłę po zmianie prędkości?
- 7. Funkcja pożaru przed oknem zmienia rozmiar zawartości przy zmianie orientacji?
- 8. Jak ponownie załadować stronę po zmianie orientacji?
- 9. Siła blisko przy zmianie orientacji otwarcia Data DialogueFragment
- 10. Animacja po zmianie układu
- 11. Zapobieganie odświeżaniu aktywności przy zmianie orientacji fragmentu androida
- 12. Android - Wymuszone resetowanie ustawień regionalnych przy zmianie orientacji
- 13. Jak obracać pływający przycisk akcji bez rotaing shadow?
- 14. Zapobieganie zmianie orientacji tapety na żywo po otwarciu aplikacji i zmianie orientacji?
- 15. Aktywność Androida uruchomiona ponownie po zmianie orientacji
- 16. Powielanie prośby o zgodę po zmianie orientacji
- 17. Fragmenty wewnątrz ViewPager znikają po zmianie orientacji
- 18. FragmentPagerAdapter nie przywraca fragmentów po zmianie orientacji
- 19. Czarny pasek pojawiający się w UIWebview po zmianie orientacji urządzenia
- 20. Odrzuć okno po zmianie orientacji ekranu
- 21. zmiana lokalizacji w Androidzie w zmianie orientacji
- 22. Fragmenty nie działają poprawnie po zmianie orientacji
- 23. zapobiega ponownemu uruchamianiu aktywności po zmianie orientacji
- 24. FragmentPagerAdapter nie odtwarza fragmentów po zmianie orientacji?
- 25. showSoftInput nie działa po zmianie orientacji
- 26. Obracanie mapy przy użyciu orientacji kompasu
- 27. Android: programowo dodaje przyciski do układu
- 28. Prawidłowy sposób unieważnienia układu widoku kolekcji po zmianie rozmiaru
- 29. Jak zapobiegać obracaniu się alertów na zmianie orientacji IOS 8
- 30. Jak zachować instancję fragmentu fragmentu odtwarzającego wideo po zmianie orientacji?
Musisz przerwać zadanie na kawałki: 1 zatrzymać odtwarzanie aktywności na rotacji. 2. Łapanie rotacji. 3. Obracanie widoku .... Każda z tych części ma już odpowiedź, tutaj na SO ... Trudno uwierzyć, że nic nie znalazłeś ... – Selvin
Nie wiedziałem, jak podzielić moje pytanie do tych kawałków. Jestem newie na Androida i Javę. Nadal mam problem, ponieważ moja orientacja na aktywność jest stała i muszę wykryć orientację za pomocą akcelerometru i nie mam pojęcia, jak to zrobić. –