Android Studio 2.0 beta 6
Я пытаюсь использовать ViewPropertyAnimator для перемещения ImageView (ivSettings)
внутри панели инструментов, так что 20dp с правой стороны и 20dp сверху, от это текущее местоположение. И переместите ImageView (ivSearch)
20dp слева и сверху.Получить ширину родительского макета
Образ изображения содержится в файле Toolbar
.
Это начальное состояние, и я хочу переместить значки в верхние углы внутри панели инструментов.
код я использую это, чтобы получить ширину, а затем вычесть значение, чтобы получить ivSettings быть 20dp справа.
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();
Однако, попробовав это на разных размерах экрана, я не могу получить точный расчет ширины. Есть ли лучший способ сделать это?
Большое спасибо за любые предложения
Попробуйте использовать ширину вместо панели инструментов. – Piyush
Я установил ширину в «match_parent», поэтому toolbar.getWidth() всегда будет возвращать 0. – ant2009
Вы конвертируете dp в пиксель или используете widthPx - 160 выражение для вычисления ширины на каждом устройстве? – Piyush