У меня есть анимация для просмотра Slide вверх и вниз в Activity, я использую приведенный ниже код.В первый раз я получаю rlView
высоту как «0», как только анимация заканчивается, только я получаю правильную высоту
private void animateView() {
Log.d(TAG, "animateView: height" + markLocationBinding.rlView.getHeight());
if (markLocationBinding.ivHurray.getVisibility() == View.GONE) {
markLocationBinding.ivHurray.setVisibility(View.VISIBLE);
Log.d(TAG, "animateView: inside height" + markLocationBinding.rlView.getHeight());
markLocationBinding.ivHurray.animate()
.translationY(markLocationBinding.rlView.getHeight())
.alpha(1.0f)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
Log.d(TAG, "animateView: inside height end" + markLocationBinding.rlView.getHeight());
}
});
} else {
markLocationBinding.ivHurray.animate()
.translationY(0)
.alpha(0f)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
markLocationBinding.ivHurray.setVisibility(View.GONE);
}
});
}
}
Мой макет
<RelativeLayout
android:id="@+id/ivHurray"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="-450dp"
android:background="#bb000000"
android:clickable="true"
android:orientation="vertical"
android:visibility="gone">
<RelativeLayout
android:id="@+id/rlView"
android:layout_width="match_parent"
android:layout_height="450dp">
<LinearLayout
android:id="@+id/llText"
android:layout_width="match_parent"
android:layout_height="130dp"
android:layout_below="@+id/ivMan"
android:layout_marginTop="-30dp"
android:background="#94aea1"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="15dp">
<TextView
android:id="@+id/tvHurray"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="8dp"
android:text="@string/hurray"
android:textColor="@color/white"
android:textSize="22dp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvHurraySub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="@string/geo_marked_loc"
android:textColor="@color/white"
android:textSize="18dp" />
</LinearLayout>
<ImageView
android:id="@+id/ivMan"
android:layout_width="match_parent"
android:layout_height="320dp"
android:background="@drawable/hurray_image"
android:scaleType="center" />
</RelativeLayout>
//some other views
</RelativeLayout>