From 30587099de9944fa9bc2cd2d5ba0eae4b91e92d4 Mon Sep 17 00:00:00 2001 From: Jarne Demeulemeester Date: Sun, 20 Jun 2021 12:07:36 +0200 Subject: [PATCH] Fix some layout sizes --- .../jellyfin/adapters/ViewItemListAdapter.kt | 17 ++++++++++----- .../jellyfin/adapters/ViewListAdapter.kt | 2 +- app/src/main/res/layout/base_item.xml | 9 +++++--- app/src/main/res/layout/collection_item.xml | 21 +++++++++++++------ app/src/main/res/layout/view_item.xml | 2 +- app/src/main/res/values/dimens.xml | 1 + 6 files changed, 36 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt index 9a854ee0..37f238b0 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt @@ -6,18 +6,25 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.databinding.BaseItemBinding import org.jellyfin.sdk.model.api.BaseItemDto -class ViewItemListAdapter : +class ViewItemListAdapter(private val fixedWidth: Boolean = false) : ListAdapter(DiffCallback) { - class ItemViewHolder(private var binding: BaseItemBinding) : + + class ItemViewHolder(private var binding: BaseItemBinding, private val parent: ViewGroup) : RecyclerView.ViewHolder(binding.root) { - fun bind(item: BaseItemDto) { + fun bind(item: BaseItemDto, fixedWidth: Boolean) { binding.item = item binding.itemName.text = if (item.type == "Episode") item.seriesName else item.name binding.itemCount.visibility = if (item.userData?.unplayedItemCount != null && item.userData?.unplayedItemCount!! > 0) View.VISIBLE else View.GONE + if (fixedWidth) { + binding.itemLayout.layoutParams.width = + parent.resources.getDimension(R.dimen.overview_media_width).toInt() + (binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0 + } binding.executePendingBindings() } } @@ -38,12 +45,12 @@ class ViewItemListAdapter : LayoutInflater.from(parent.context), parent, false - ) + ), parent ) } override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { val item = getItem(position) - holder.bind(item) + holder.bind(item, fixedWidth) } } \ No newline at end of file diff --git a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt index 45de5ee2..8a924376 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt @@ -14,7 +14,7 @@ class ViewListAdapter : ListAdapter(DiffCa binding.view = view // TODO: Change to string placeholder binding.viewName.text = "Latest ${view.name}" - binding.itemsRecyclerView.adapter = ViewItemListAdapter() + binding.itemsRecyclerView.adapter = ViewItemListAdapter(fixedWidth = true) binding.executePendingBindings() } } diff --git a/app/src/main/res/layout/base_item.xml b/app/src/main/res/layout/base_item.xml index 52f3c6de..d0657b77 100644 --- a/app/src/main/res/layout/base_item.xml +++ b/app/src/main/res/layout/base_item.xml @@ -11,20 +11,23 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/layout/view_item.xml b/app/src/main/res/layout/view_item.xml index c2fecfc4..1c0ae16b 100644 --- a/app/src/main/res/layout/view_item.xml +++ b/app/src/main/res/layout/view_item.xml @@ -13,7 +13,7 @@ + android:layout_marginBottom="12dp"> -1 -2 @dimen/match_parent + 150dp 3 1 2