From 9bfae61ce79d72e2c9272d43b396eedab8bf9dc6 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Wed, 1 Apr 2020 19:42:37 +0800 Subject: [PATCH] Refine animation of hiding and showing comment toolbar. --- .../Activity/ViewPostDetailActivity.java | 6 ++++++ .../Adapter/CommentAndPostRecyclerViewAdapter.java | 12 +++++++----- app/src/main/res/layout/item_comment.xml | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java index 75a53c5c..7700fcbb 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java @@ -25,6 +25,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearSmoothScroller; import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import androidx.transition.AutoTransition; +import androidx.transition.TransitionManager; import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; @@ -1178,6 +1180,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS } } + public void delayTransition() { + TransitionManager.beginDelayedTransition(mRecyclerView, new AutoTransition()); + } + @Subscribe public void onPostUpdateEvent(PostUpdateEventToDetailActivity event) { if (mPost.getId().equals(event.post.getId())) { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java index 44609d19..4027b699 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/CommentAndPostRecyclerViewAdapter.java @@ -853,10 +853,10 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter { - if (((CommentViewHolder) holder).bottomConstraintLayout.getVisibility() == View.GONE){ - ((CommentViewHolder) holder).bottomConstraintLayout.setVisibility(View.VISIBLE); + if (((CommentViewHolder) holder).bottomConstraintLayout.getLayoutParams().height == 0) { + ((CommentViewHolder) holder).bottomConstraintLayout.getLayoutParams().height = LinearLayout.LayoutParams.WRAP_CONTENT; ((CommentViewHolder) holder).topScoreTextView.setVisibility(View.GONE); + ((ViewPostDetailActivity) mActivity).delayTransition(); } else { - ((CommentViewHolder) holder).bottomConstraintLayout.setVisibility(View.GONE); + ((ViewPostDetailActivity) mActivity).delayTransition(); + ((CommentViewHolder) holder).bottomConstraintLayout.getLayoutParams().height = 0; ((CommentViewHolder) holder).topScoreTextView.setVisibility(View.VISIBLE); } }; diff --git a/app/src/main/res/layout/item_comment.xml b/app/src/main/res/layout/item_comment.xml index 535e6fd6..25ef83df 100644 --- a/app/src/main/res/layout/item_comment.xml +++ b/app/src/main/res/layout/item_comment.xml @@ -20,7 +20,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:layout_marginBottom="12dp" android:orientation="vertical" android:animateLayoutChanges="true"> @@ -115,6 +114,7 @@ android:id="@+id/bottom_constraint_layout_item_post_comment" android:layout_width="match_parent" android:layout_height="wrap_content" + android:paddingBottom="12dp" android:paddingStart="4dp" android:paddingEnd="4dp">