Skip to content

Commit 223f826

Browse files
committed
Fix inconsistencies related to nesting recyclerview into scrollview
1 parent cd1a78a commit 223f826

File tree

6 files changed

+18
-10
lines changed

6 files changed

+18
-10
lines changed

app/src/main/java/cz/muni/fi/rpg/ui/character/InventoryFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ import androidx.fragment.app.Fragment
88
import cz.muni.fi.rpg.R
99
import kotlinx.android.synthetic.main.fragment_inventory.view.*
1010
import androidx.lifecycle.observe
11-
import androidx.recyclerview.widget.LinearLayoutManager
1211
import cz.muni.fi.rpg.model.domain.character.CharacterId
1312
import cz.muni.fi.rpg.model.domain.inventory.InventoryItem
1413
import cz.muni.fi.rpg.ui.character.adapter.InventoryAdapter
1514
import cz.muni.fi.rpg.ui.character.inventory.ChangeArmorDialog
1615
import cz.muni.fi.rpg.ui.character.inventory.InventoryItemDialog
1716
import cz.muni.fi.rpg.ui.character.inventory.TransactionDialog
17+
import cz.muni.fi.rpg.ui.common.NonScrollableLayoutManager
1818
import cz.muni.fi.rpg.ui.common.parcelableArgument
1919
import cz.muni.fi.rpg.viewModels.InventoryViewModel
2020
import kotlinx.android.synthetic.main.fragment_inventory.*
@@ -67,7 +67,7 @@ class InventoryFragment : Fragment(R.layout.fragment_inventory),
6767
onClickListener = this::showDialog,
6868
onRemoveListener = { launch { viewModel.removeInventoryItem(it) } }
6969
)
70-
inventoryRecycler.layoutManager = LinearLayoutManager(context)
70+
inventoryRecycler.layoutManager = NonScrollableLayoutManager(requireContext())
7171
inventoryRecycler.adapter = adapter
7272

7373
viewModel.inventory.observe(viewLifecycleOwner) { items ->

app/src/main/java/cz/muni/fi/rpg/ui/character/skills/CharacterSkillsFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import androidx.core.os.bundleOf
66
import androidx.fragment.app.Fragment
77
import androidx.fragment.app.commit
88
import androidx.lifecycle.observe
9-
import androidx.recyclerview.widget.LinearLayoutManager
109
import cz.muni.fi.rpg.R
1110
import cz.muni.fi.rpg.model.domain.character.CharacterId
1211
import cz.muni.fi.rpg.model.domain.skills.Skill
1312
import cz.muni.fi.rpg.model.right
1413
import cz.muni.fi.rpg.ui.character.skills.adapter.SkillAdapter
1514
import cz.muni.fi.rpg.ui.character.skills.talents.TalentsFragment
1615
import cz.muni.fi.rpg.ui.common.CombinedLiveData
16+
import cz.muni.fi.rpg.ui.common.NonScrollableLayoutManager
1717
import cz.muni.fi.rpg.ui.common.parcelableArgument
1818
import cz.muni.fi.rpg.viewModels.CharacterViewModel
1919
import cz.muni.fi.rpg.viewModels.SkillsViewModel
@@ -42,7 +42,7 @@ class CharacterSkillsFragment : Fragment(R.layout.fragment_character_skills),
4242
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4343
super.onViewCreated(view, savedInstanceState)
4444

45-
skillList.layoutManager = LinearLayoutManager(context)
45+
skillList.layoutManager = NonScrollableLayoutManager(requireContext())
4646
val adapter = SkillAdapter(
4747
layoutInflater,
4848
{ openSkillDialog(it) },

app/src/main/java/cz/muni/fi/rpg/ui/character/skills/talents/TalentsFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import android.view.View
55
import androidx.core.os.bundleOf
66
import androidx.fragment.app.Fragment
77
import androidx.lifecycle.observe
8-
import androidx.recyclerview.widget.LinearLayoutManager
98
import cz.muni.fi.rpg.R
109
import cz.muni.fi.rpg.model.domain.character.CharacterId
1110
import cz.muni.fi.rpg.model.domain.talents.Talent
11+
import cz.muni.fi.rpg.ui.common.NonScrollableLayoutManager
1212
import cz.muni.fi.rpg.ui.common.parcelableArgument
1313
import cz.muni.fi.rpg.viewModels.TalentsViewModel
1414
import kotlinx.android.synthetic.main.fragment_talents.*
@@ -36,7 +36,7 @@ class TalentsFragment : Fragment(R.layout.fragment_talents),
3636
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3737
super.onViewCreated(view, savedInstanceState)
3838

39-
talentList.layoutManager = LinearLayoutManager(context)
39+
talentList.layoutManager = NonScrollableLayoutManager(requireContext())
4040
val adapter = TalentAdapter(
4141
layoutInflater,
4242
{ openTalentDialog(it) },
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package cz.muni.fi.rpg.ui.common
2+
3+
import android.content.Context
4+
import androidx.recyclerview.widget.LinearLayoutManager
5+
6+
class NonScrollableLayoutManager(context: Context) : LinearLayoutManager(context) {
7+
override fun canScrollVertically(): Boolean = false
8+
}

app/src/main/res/layout/fragment_character_skills.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
44
android:layout_width="match_parent"
55
android:layout_height="match_parent"
@@ -68,4 +68,4 @@
6868
android:layout_width="match_parent"
6969
android:layout_height="wrap_content"/>
7070
</LinearLayout>
71-
</ScrollView>
71+
</androidx.core.widget.NestedScrollView>

app/src/main/res/layout/fragment_inventory.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:layout_width="match_parent"
@@ -373,5 +373,5 @@
373373
</LinearLayout>
374374
</androidx.cardview.widget.CardView>
375375
</LinearLayout>
376-
</ScrollView>
376+
</androidx.core.widget.NestedScrollView>
377377

0 commit comments

Comments
 (0)