aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-08-29 05:22:27 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-08-29 05:22:27 +0000
commitc5a824ac89af99017b95b0806b700f0428e198e3 (patch)
tree7acc2ff82031e839d894c5cabbabcbc960217027
parent8f1d183858727dccc25407a8f1f51ce5b24cf0d8 (diff)
downloadinfinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar.gz
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar.bz2
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar.lz
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar.xz
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.tar.zst
infinity-for-reddit-c5a824ac89af99017b95b0806b700f0428e198e3.zip
Set item offset in Postfragment when using StaggeredGridLayoutManager. Minor UI tweaks.
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java37
-rw-r--r--app/src/main/res/layout/fragment_comments_listing.xml1
-rw-r--r--app/src/main/res/layout/fragment_followed_users_listing.xml1
-rw-r--r--app/src/main/res/layout/fragment_post.xml1
-rw-r--r--app/src/main/res/layout/fragment_subreddit_listing.xml1
-rw-r--r--app/src/main/res/layout/fragment_subscribed_subreddits_listing.xml1
-rw-r--r--app/src/main/res/layout/fragment_user_listing.xml1
-rw-r--r--app/src/main/res/layout/item_load_comments_failed_placeholder.xml2
-rw-r--r--app/src/main/res/values/dimens.xml1
9 files changed, 44 insertions, 2 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java
index 86900902..23b24de2 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java
@@ -7,11 +7,11 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -22,6 +22,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.DimenRes;
import androidx.annotation.NonNull;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.fragment.app.Fragment;
@@ -159,6 +160,9 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
} else {
mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
mPostRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
+ StaggeredGridLayoutManagerItemOffsetDecoration itemDecoration =
+ new StaggeredGridLayoutManagerItemOffsetDecoration(activity, R.dimen.staggeredLayoutManagerItemOffset);
+ mPostRecyclerView.addItemDecoration(itemDecoration);
}
mGlide = Glide.with(activity);
@@ -583,4 +587,35 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
currentPosition = -1;
}
}
+
+ private static class StaggeredGridLayoutManagerItemOffsetDecoration extends RecyclerView.ItemDecoration {
+
+ private int mItemOffset;
+
+ StaggeredGridLayoutManagerItemOffsetDecoration(int itemOffset) {
+ mItemOffset = itemOffset;
+ }
+
+ StaggeredGridLayoutManagerItemOffsetDecoration(@NonNull Context context, @DimenRes int itemOffsetId) {
+ this(context.getResources().getDimensionPixelSize(itemOffsetId));
+ }
+
+ @Override
+ public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent,
+ @NonNull RecyclerView.State state) {
+ super.getItemOffsets(outRect, view, parent, state);
+
+ StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
+
+ int spanIndex = layoutParams.getSpanIndex();
+
+ int halfOffset = mItemOffset / 2;
+
+ if(spanIndex == 0) {
+ outRect.set(0, 0, halfOffset, 0);
+ } else {
+ outRect.set(halfOffset, 0, 0, 0);
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_comments_listing.xml b/app/src/main/res/layout/fragment_comments_listing.xml
index 7dfb31e4..886c093a 100644
--- a/app/src/main/res/layout/fragment_comments_listing.xml
+++ b/app/src/main/res/layout/fragment_comments_listing.xml
@@ -28,6 +28,7 @@
android:id="@+id/fetch_comments_info_linear_layout_comments_listing_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/fragment_followed_users_listing.xml b/app/src/main/res/layout/fragment_followed_users_listing.xml
index e5b64728..62ab964e 100644
--- a/app/src/main/res/layout/fragment_followed_users_listing.xml
+++ b/app/src/main/res/layout/fragment_followed_users_listing.xml
@@ -15,6 +15,7 @@
android:id="@+id/no_subscriptions_linear_layout_followed_users_listing_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/fragment_post.xml b/app/src/main/res/layout/fragment_post.xml
index 9083b01d..240bcb60 100644
--- a/app/src/main/res/layout/fragment_post.xml
+++ b/app/src/main/res/layout/fragment_post.xml
@@ -26,6 +26,7 @@
android:id="@+id/fetch_post_info_linear_layout_post_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/fragment_subreddit_listing.xml b/app/src/main/res/layout/fragment_subreddit_listing.xml
index d460b569..acc31dab 100644
--- a/app/src/main/res/layout/fragment_subreddit_listing.xml
+++ b/app/src/main/res/layout/fragment_subreddit_listing.xml
@@ -28,6 +28,7 @@
android:id="@+id/fetch_subreddit_listing_info_linear_layout_subreddit_listing_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/fragment_subscribed_subreddits_listing.xml b/app/src/main/res/layout/fragment_subscribed_subreddits_listing.xml
index 25294baf..89227f12 100644
--- a/app/src/main/res/layout/fragment_subscribed_subreddits_listing.xml
+++ b/app/src/main/res/layout/fragment_subscribed_subreddits_listing.xml
@@ -15,6 +15,7 @@
android:id="@+id/no_subscriptions_linear_layout_subreddits_listing_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/fragment_user_listing.xml b/app/src/main/res/layout/fragment_user_listing.xml
index 91eb926e..bdd39dab 100644
--- a/app/src/main/res/layout/fragment_user_listing.xml
+++ b/app/src/main/res/layout/fragment_user_listing.xml
@@ -28,6 +28,7 @@
android:id="@+id/fetch_user_listing_info_linear_layout_user_listing_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_marginBottom="48dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
diff --git a/app/src/main/res/layout/item_load_comments_failed_placeholder.xml b/app/src/main/res/layout/item_load_comments_failed_placeholder.xml
index 094d58bc..ef3342d4 100644
--- a/app/src/main/res/layout/item_load_comments_failed_placeholder.xml
+++ b/app/src/main/res/layout/item_load_comments_failed_placeholder.xml
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="36dp"
+ android:layout_margin="48dp"
android:orientation="vertical">
<ImageView
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index eabd373e..30cce083 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -9,4 +9,5 @@
<dimen name="text_margin">16dp</dimen>
<dimen name="roundedBottomSheetCornerRadiusLeftPadding">0dp</dimen>
<dimen name="roundedBottomSheetCornerRadiusRightPadding">0dp</dimen>
+ <dimen name="staggeredLayoutManagerItemOffset">16dp</dimen>
</resources> \ No newline at end of file