Restore old strategy of grid column count
This commit is contained in:
1 parent
29214b58c0
commit
ec027d3d98
4 files changed
+14
-10
No files matched your search
@@ -19,8 +19,6 @@ import android.content.SharedPreferences
|
||||
import android.net.Uri
|
||||
import android.util.Log
|
||||
import androidx.annotation.DimenRes
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.hippo.ehviewer.EhApplication.Companion.application
|
||||
import com.hippo.ehviewer.client.data.FavListUrlBuilder
|
||||
@@ -368,10 +366,10 @@ object Settings {
|
||||
else -> throw IllegalStateException("Unexpected value: $detailSize")
|
||||
}
|
||||
val thumbSize: Int
|
||||
get() = dp2pix(application, getInt(KEY_THUMB_SIZE, DEFAULT_THUMB_SIZE).toFloat())
|
||||
get() = dp2pix(application, thumbSizeDp.toFloat())
|
||||
|
||||
val thumbSizeDp: Dp
|
||||
get() = (getInt(KEY_THUMB_SIZE, DEFAULT_THUMB_SIZE) - 8).dp
|
||||
val thumbSizeDp: Int
|
||||
get() = getInt(KEY_THUMB_SIZE, DEFAULT_THUMB_SIZE)
|
||||
|
||||
val thumbResolution: Int
|
||||
get() = getIntFromStr(KEY_THUMB_RESOLUTION, DEFAULT_THUMB_RESOLUTION)
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.hippo.ehviewer.databinding.ItemGalleryGridBinding
|
||||
import com.hippo.ehviewer.databinding.ItemGalleryListBinding
|
||||
import com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager
|
||||
import com.hippo.widget.recyclerview.STRATEGY_MIN_SIZE
|
||||
import com.hippo.widget.recyclerview.STRATEGY_SUITABLE_SIZE
|
||||
import com.hippo.yorozuya.ViewUtils
|
||||
|
||||
internal abstract class GalleryAdapter(
|
||||
@@ -85,7 +86,7 @@ internal abstract class GalleryAdapter(
|
||||
TYPE_GRID -> {
|
||||
val columnWidth = Settings.thumbSize
|
||||
mLayoutManager.setColumnSize(columnWidth)
|
||||
mLayoutManager.setStrategy(STRATEGY_MIN_SIZE)
|
||||
mLayoutManager.setStrategy(STRATEGY_SUITABLE_SIZE)
|
||||
if (null != mListDecoration) {
|
||||
recyclerView.removeItemDecoration(mListDecoration!!)
|
||||
}
|
||||
|
||||
@@ -99,6 +99,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.res.dimensionResource
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
@@ -169,6 +170,7 @@ import com.hippo.util.ReadableTime
|
||||
import com.hippo.util.addTextToClipboard
|
||||
import com.hippo.util.getParcelableCompat
|
||||
import com.hippo.widget.ObservedTextView
|
||||
import com.hippo.widget.recyclerview.getSpanCountForSuitableSize
|
||||
import com.hippo.yorozuya.FileUtils
|
||||
import com.hippo.yorozuya.ViewUtils
|
||||
import com.hippo.yorozuya.collect.IntList
|
||||
@@ -516,9 +518,12 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
||||
modifier: Modifier,
|
||||
) {
|
||||
val windowSizeClass = calculateWindowSizeClass(requireActivity())
|
||||
// Padding is not subtracted here to have the same column count as gallery list and preview
|
||||
val totalSpace = LocalConfiguration.current.screenWidthDp
|
||||
val columnCount = getSpanCountForSuitableSize(totalSpace, Settings.thumbSizeDp)
|
||||
when (windowSizeClass.widthSizeClass) {
|
||||
WindowWidthSizeClass.Medium, WindowWidthSizeClass.Compact -> LazyVerticalGrid(
|
||||
columns = GridCells.Adaptive(Settings.thumbSizeDp),
|
||||
columns = GridCells.Fixed(columnCount),
|
||||
contentPadding = contentPadding,
|
||||
modifier = modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
|
||||
horizontalArrangement = Arrangement.spacedBy(dimensionResource(id = R.dimen.strip_item_padding)),
|
||||
@@ -573,7 +578,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
||||
}
|
||||
|
||||
WindowWidthSizeClass.Expanded -> LazyVerticalGrid(
|
||||
columns = GridCells.Adaptive(Settings.thumbSizeDp),
|
||||
columns = GridCells.Fixed(columnCount),
|
||||
contentPadding = contentPadding,
|
||||
modifier = modifier.padding(horizontal = dimensionResource(id = R.dimen.keyline_margin)),
|
||||
horizontalArrangement = Arrangement.spacedBy(dimensionResource(id = R.dimen.strip_item_padding)),
|
||||
|
||||
@@ -40,7 +40,7 @@ import com.hippo.ehviewer.databinding.SceneGalleryPreviewsBinding
|
||||
import com.hippo.util.getParcelableCompat
|
||||
import com.hippo.widget.ContentLayout.ContentHelper
|
||||
import com.hippo.widget.recyclerview.AutoGridLayoutManager
|
||||
import com.hippo.widget.recyclerview.STRATEGY_MIN_SIZE
|
||||
import com.hippo.widget.recyclerview.STRATEGY_SUITABLE_SIZE
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
import java.util.Locale
|
||||
|
||||
@@ -98,7 +98,7 @@ class GalleryPreviewsScene : BaseToolbarScene() {
|
||||
binding.contentLayout.recyclerView.adapter = mAdapter
|
||||
val columnWidth = Settings.thumbSize
|
||||
val layoutManager = AutoGridLayoutManager(context, columnWidth)
|
||||
layoutManager.setStrategy(STRATEGY_MIN_SIZE)
|
||||
layoutManager.setStrategy(STRATEGY_SUITABLE_SIZE)
|
||||
binding.contentLayout.recyclerView.layoutManager = layoutManager
|
||||
binding.contentLayout.recyclerView.clipToPadding = false
|
||||
val padding = resources.getDimensionPixelSize(R.dimen.gallery_grid_margin_h)
|
||||
|
||||
Reference in new issue
Block a user