Closed7
作業ログ 2021/03/31
Kotlinスタディ
RecycleView選択→選択アイテム一覧表示
- RecycleViewのアイテムクリック時にカウントアップ
- どれかのアイテムにカウントが存在した場合は画面下部にボタン表示
- ボタンタップで画面遷移、選択したアイテムの一覧を表示
ツールバーの「戻る」ボタン
- トップ画面では戻るを表示しない
- 戻るタップでフラグメントバック(バックキーを押したときと同じ挙動)
RecycleView選択→選択アイテム一覧表示
- リストをFragment間で受け渡しする際は
putParcelableArrayList``getParcelableArrayList
を使用 - 選択済みアイテムを横スクロールで表示
- 選択済みアイテムが画面内に収まる場合は中央揃えにしたい
- RecycleViewの書きを変更
-
android:layout_width
を"wrap_content"
に変更 -
android:layout_gravity
を"center_horizontal"
に変更
-
- RecycleViewの書きを変更
- xmlで
android:orientation="horizontal"
のデザインを確認したい場合は下記を指定
- 選択済みアイテムが画面内に収まる場合は中央揃えにしたい
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/list_item_xxx"
tools:orientation="horizontal"
ツールバーの戻るボタン
トップ画面では「戻る」を表示しない
- BackStack変更時のリスナーが
supportFragmentManager.addOnBackStackChangedListener
で登録できるためそこで制御 -
supportFragmentManager.backStackEntryCount
でBackStackの個数が取得可能 - BackStackが0(トップページ)なら非表示、1以上なら表示
supportFragmentManager.addOnBackStackChangedListener {
val canBack = supportFragmentManager.backStackEntryCount > 0
supportActionBar?.setDisplayHomeAsUpEnabled(canBack)
}
ツールバーの戻るボタンのアイコン変更
-
setHomeAsUpIndicator
で変更可能
ツールバーのメニュー
設定方法
-
res/menu
配下にメニューのレイアウトファイル作成 -
onCreateOptionMenu
でメニューレイアウトを設定
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_xxx, menu)
return super.onCreateOptionsMenu(menu)
}
メニューの動的変更
疑問ポイント
- navGraphとFragmentTransactionどっち使う?
- navGraph
- xmlで指定すれば良いのでわかりやすそう
- 値渡しも可能(自作クラスやリストなどは渡せるか不明)
- 初期画面の指定が必須だがコードから変更も可能
- なんか不具合があるっぽい?
- FragmentTransaction
- もともと使用しているのでわかりやすい
- 値渡しはリストなどでも可能
- コーディング量は増える
- navGraph
このスクラップは2021/04/01にクローズされました