UhooiPicBook-Android icon indicating copy to clipboard operation
UhooiPicBook-Android copied to clipboard

Move to next or previous monster

Open dosukoi-android opened this issue 5 years ago • 9 comments

Issue

#19

内容

詳細画面で左右にフリックすると前後のモンスターが表示されるように修正 ViewPager2を使用

関連URL

ViewPager2 https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2?hl=ja

ViewPager.OnPageChangeCallback https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2.OnPageChangeCallback?hl=ja

dosukoi-android avatar May 23 '20 06:05 dosukoi-android

手が空いてたのでViewPagerを実装しました〜! もし自分で作成するようであれば参考程度になればと思います!

dosukoi-android avatar May 23 '20 06:05 dosukoi-android

@Naoki-Hidaka ViewModelを共有してフラグメント間でデータをやりとりしているので、Safe Argsでモンスターを渡す必要はないと思います!

nav_graph.xml

-         <argument
-             android:name="monster"
-             app:argType=".modules.monsterlist.entities.MonsterItem" />

uhooi avatar May 23 '20 07:05 uhooi

@Naoki-Hidaka Safe Argsは完全に使わなくなったので、削除して構いません!

/build.gradle

-         classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"

/app/build.gradle

- apply plugin: 'androidx.navigation.safeargs.kotlin'

MonsterListFragment.kt

-                     findNavController().navigate(MonsterListFragmentDirections.actionListToDetail())
- 
+                     findNavController().navigate(R.id.action_list_to_detail)

uhooi avatar May 25 '20 02:05 uhooi

@Naoki-Hidaka

ViewModelを使ってフラグメント間で値を共有する実装は、もう少し公式ドキュメントに寄せてもいいと思いました!

MonsterListViewModel.kt

    // region Stored Instance Properties

    private val _selected = MutableLiveData<MonsterItem>()
    val selected: LiveData<MonsterItem>
        get() = _selected

    // endregion

    // region Other Internal Methods

    fun select(item: MonsterItem) {
        _selected.value = item
    }

    // endregion

ref: https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ja#sharing

uhooi avatar May 25 '20 02:05 uhooi

あとは他のタスクを優先するのと、iOSと仕様を合わせたい(iOSはまだ詳細画面で前後のモンスターに移動できない)ため、レビュー&マージは当分先になります🙇‍♂️

uhooi avatar May 25 '20 02:05 uhooi

これは完全に見落としていました、、! 後で修正しておきます!

dosukoi-android avatar May 25 '20 03:05 dosukoi-android

レビュー&マージの件、承知いたしました〜 ゆっくりで大丈夫ですので!

dosukoi-android avatar May 25 '20 03:05 dosukoi-android

一年半ぶりのコメント iOSってViewPager相当のものって既にリリースされました?

dosukoi-android avatar Oct 21 '21 02:10 dosukoi-android

@Naoki-Hidaka

一年半ぶりのコメント iOSってViewPager相当のものって既にリリースされました?

1年半越しの返信です。 iOS ではまったく実装していませんが、Android 専用機能としてリリースしても問題ないです!

uhooi avatar Feb 18 '23 08:02 uhooi