まず、Jetpack ナビゲーション コンポーネント - ナビゲーション ドロワーを使用しています。
そして、「No Action Bar」が私のアプリのメイン スタイルです。
<style name="NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="preferenceTheme">@style/PrefsTheme</item>
</style>
これがマニフェストです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.xxx">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name=".MainApplication"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".ui.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Jetpack Navigation Component を使用しているため、単一のアクティビティ パターンです。
通常、私の UI にはカスタム ツールバーがあります。大丈夫です。
しかし、設定UIの場合、問題に直面しました...
Jetpack 設定を使用しています。https://developer.android.com/guide/topics/ui/settigs
私の設定UIは「PreferenceFragmentCompat」を拡張し、「nav_graph.xml」でも定義されています。
したがって、以下のコードでアクセスできます。
findNavController().navigate(R.id.settingsFragment)
私のアプリは「NoActionBar」を使用しているため、設定にはアクションバーもありません。また、設定は Jetpack の設定で行われるため、カスタム ツールバーを追加できません。
良いアイデア/解決策はありますか?