From afba6e84908fc066d4480b09650acf2d5daff19b Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Sat, 12 Jun 2021 21:43:17 -0700 Subject: [PATCH] Adds item dividers to the Library and Edit Skills screens. Makes the two layouts consistent with each other. --- .../ui/editmonster/EditSkillsFragment.java | 13 +++++++++++-- .../monstercards/ui/library/LibraryFragment.java | 14 ++++++++++++-- .../res/layout/fragment_edit_skills_list.xml | 7 +++---- .../layout/fragment_edit_skills_list_item.xml | 16 +++++++++++----- 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillsFragment.java b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillsFragment.java index d895733..fa7760e 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillsFragment.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillsFragment.java @@ -1,5 +1,6 @@ package com.majinnaibu.monstercards.ui.editmonster; +import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -11,6 +12,7 @@ import androidx.lifecycle.ViewModelProvider; import androidx.navigation.NavBackStackEntry; import androidx.navigation.NavController; import androidx.navigation.Navigation; +import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -41,8 +43,15 @@ public class EditSkillsFragment extends Fragment { } private void setupRecyclerView(@NonNull RecyclerView recyclerView) { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - mViewModel.getSkills().observe(getViewLifecycleOwner(), skills -> recyclerView.setAdapter(new EditSkillsRecyclerViewAdapter(mViewModel.getSkillsArray()))); + Context context = requireContext(); + LinearLayoutManager layoutManager = new LinearLayoutManager(context); + recyclerView.setLayoutManager(layoutManager); + + EditSkillsRecyclerViewAdapter adapter = new EditSkillsRecyclerViewAdapter(mViewModel.getSkillsArray()); + mViewModel.getSkills().observe(getViewLifecycleOwner(), skills -> recyclerView.setAdapter(adapter)); + + DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(context, layoutManager.getOrientation()); + recyclerView.addItemDecoration(dividerItemDecoration); } private void setupAddSkillButton(@NonNull FloatingActionButton fab) { diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java b/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java index 23b3501..ecccb49 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryFragment.java @@ -1,5 +1,6 @@ package com.majinnaibu.monstercards.ui.library; +import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -8,6 +9,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.navigation.NavDirections; import androidx.navigation.Navigation; +import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -45,9 +47,11 @@ public class LibraryFragment extends MCFragment { } private void setupRecyclerView(@NonNull RecyclerView recyclerView) { + Context context = requireContext(); MonsterRepository repository = this.getMonsterRepository(); + MonsterListRecyclerViewAdapter adapter = new MonsterListRecyclerViewAdapter( - getContext(), + context, repository.getMonsters(), (monster) -> navigateToMonsterDetail(monster.id), (monster) -> repository @@ -66,7 +70,13 @@ public class LibraryFragment extends MCFragment { } })); recyclerView.setAdapter(adapter); - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + LinearLayoutManager layoutManager = new LinearLayoutManager(context); + recyclerView.setLayoutManager(layoutManager); + + DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(context, layoutManager.getOrientation()); + recyclerView.addItemDecoration(dividerItemDecoration); + ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new SwipeToDeleteCallback(requireContext(), adapter::deleteItem)); itemTouchHelper.attachToRecyclerView(recyclerView); } diff --git a/app/src/main/res/layout/fragment_edit_skills_list.xml b/app/src/main/res/layout/fragment_edit_skills_list.xml index 2840d61..87647b1 100644 --- a/app/src/main/res/layout/fragment_edit_skills_list.xml +++ b/app/src/main/res/layout/fragment_edit_skills_list.xml @@ -2,17 +2,16 @@ + tools:context=".ui.editmonster.EditSkillsFragment"> - + android:orientation="horizontal"> + + +