mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-02-27 17:13:57 +01:00
Add column spacing to the RecyclerView in PostGalleryActivity.
This commit is contained in:
parent
b382ebecc3
commit
45181aa712
@ -3,8 +3,10 @@ package ml.docilealligator.infinityforreddit.activities;
|
|||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.Rect;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -24,6 +26,7 @@ import androidx.appcompat.widget.Toolbar;
|
|||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.core.content.FileProvider;
|
import androidx.core.content.FileProvider;
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
@ -70,6 +73,7 @@ import ml.docilealligator.infinityforreddit.services.SubmitPostService;
|
|||||||
import ml.docilealligator.infinityforreddit.utils.JSONUtils;
|
import ml.docilealligator.infinityforreddit.utils.JSONUtils;
|
||||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||||
import ml.docilealligator.infinityforreddit.utils.UploadImageUtils;
|
import ml.docilealligator.infinityforreddit.utils.UploadImageUtils;
|
||||||
|
import ml.docilealligator.infinityforreddit.utils.Utils;
|
||||||
import pl.droidsonroids.gif.GifImageView;
|
import pl.droidsonroids.gif.GifImageView;
|
||||||
import retrofit2.Retrofit;
|
import retrofit2.Retrofit;
|
||||||
|
|
||||||
@ -220,6 +224,36 @@ public class PostGalleryActivity extends BaseActivity implements FlairBottomShee
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
imagesRecyclerView.setAdapter(adapter);
|
imagesRecyclerView.setAdapter(adapter);
|
||||||
|
Resources resources = getResources();
|
||||||
|
int nColumns = resources.getBoolean(R.bool.isTablet) || resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 3 : 2;
|
||||||
|
((GridLayoutManager) imagesRecyclerView.getLayoutManager()).setSpanCount(nColumns);
|
||||||
|
imagesRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
|
||||||
|
@Override
|
||||||
|
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
|
||||||
|
GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams();
|
||||||
|
|
||||||
|
int spanIndex = layoutParams.getSpanIndex();
|
||||||
|
|
||||||
|
int offset = (int) (Utils.convertDpToPixel(16, PostGalleryActivity.this));
|
||||||
|
int halfOffset = offset / 2;
|
||||||
|
|
||||||
|
if (nColumns == 2) {
|
||||||
|
if (spanIndex == 0) {
|
||||||
|
outRect.set(halfOffset, 0, halfOffset, offset);
|
||||||
|
} else {
|
||||||
|
outRect.set(halfOffset, 0, halfOffset, offset);
|
||||||
|
}
|
||||||
|
} else if (nColumns == 3) {
|
||||||
|
if (spanIndex == 0) {
|
||||||
|
outRect.set(halfOffset, 0, halfOffset, offset);
|
||||||
|
} else if (spanIndex == 1) {
|
||||||
|
outRect.set(halfOffset, 0, halfOffset, offset);
|
||||||
|
} else {
|
||||||
|
outRect.set(halfOffset, 0, halfOffset, offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
subredditName = savedInstanceState.getString(SUBREDDIT_NAME_STATE);
|
subredditName = savedInstanceState.getString(SUBREDDIT_NAME_STATE);
|
||||||
|
@ -191,7 +191,9 @@
|
|||||||
android:id="@+id/images_recycler_view_post_gallery_activity"
|
android:id="@+id/images_recycler_view_post_gallery_activity"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="16dp"
|
android:paddingTop="16dp"
|
||||||
|
android:paddingStart="8dp"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||||
app:spanCount="2" />
|
app:spanCount="2" />
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user