Closed7

作業ログ 2021/03/31

モガンボモガンボ

Kotlinスタディ

RecycleView選択→選択アイテム一覧表示

  • RecycleViewのアイテムクリック時にカウントアップ
  • どれかのアイテムにカウントが存在した場合は画面下部にボタン表示
  • ボタンタップで画面遷移、選択したアイテムの一覧を表示

ツールバーの「戻る」ボタン

  • トップ画面では戻るを表示しない
  • 戻るタップでフラグメントバック(バックキーを押したときと同じ挙動)
モガンボモガンボ

RecycleView選択→選択アイテム一覧表示

  • リストをFragment間で受け渡しする際はputParcelableArrayList``getParcelableArrayListを使用
  • 選択済みアイテムを横スクロールで表示
    • 選択済みアイテムが画面内に収まる場合は中央揃えにしたい
      • RecycleViewの書きを変更
        • android:layout_width"wrap_content"に変更
        • android:layout_gravity"center_horizontal"に変更
    • 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)
    }

メニューの動的変更

参考URL:https://www.hundredapps.net/?p=394

モガンボモガンボ

疑問ポイント

  • navGraphとFragmentTransactionどっち使う?
    • navGraph
      • xmlで指定すれば良いのでわかりやすそう
      • 値渡しも可能(自作クラスやリストなどは渡せるか不明)
      • 初期画面の指定が必須だがコードから変更も可能
      • なんか不具合があるっぽい?
    • FragmentTransaction
      • もともと使用しているのでわかりやすい
      • 値渡しはリストなどでも可能
      • コーディング量は増える
このスクラップは2021/04/01にクローズされました