Android Studio 2.0 beta 6
próbuję użyć ViewPropertyAnimator przenieść ImageView (ivSettings)
wewnątrz paska tak, że jest 20dp z prawej strony i 20dp od góry, ze jest aktualna lokalizacja. I przenieś ImageView (ivSearch)
20dp od lewej i od góry.Get szerokość układu nadrzędnego
Obrazy są zawarte w Toolbar
.
To jest stan początkowy i chcę przenieść ikony do górnych rogów wewnątrz paska narzędzi.
Kod używam jest to, aby uzyskać szerokość i odejmujemy wartość, aby uzyskać ivSettings być 20dp z prawej strony.
final DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
final float widthPx = displayMetrics.widthPixels;
ivSearch.animate()
.setInterpolator(new AccelerateInterpolator())
.x(20)
.y(20)
.setDuration(250)
.start();
ivSettings.animate()
.setInterpolator(new AccelerateInterpolator())
.x(widthPx - 160)
.y(20)
.setDuration(250)
.start();
Jednak po wypróbowaniu tego na innym rozmiarze ekranu nie mogę uzyskać dokładnej kalkulacji szerokości. Czy jest lepszy sposób na zrobienie tego?
Wielkie dzięki za wszelkie sugestie
Spróbuj zamiast tego użyć szerokości z paska narzędzi. – Piyush
Ustawiłem szerokość na 'match_parent', więc toolbar.getWidth() zawsze zwróci 0. – ant2009
Czy konwertujesz dp na piksel, czy też widthPx - 160 to wyrażenie do obliczania szerokości na każdym urządzeniu? – Piyush