I am trying to create a Settings screen for my app. The fragment opens, but I don't know how to set it to have the Material3 theme.
As you can see, it has no background, and the dialog has the old Material style.
settings.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/settings_theme">
<ListPreference
android:defaultValue="1"
android:entries="@array/settings_theme_options"
android:entryValues="@array/settings_theme_options"
android:icon="@drawable/round_brightness_4_24"
android:key="settings_theme"
android:title="@string/settings_theme_title" />
</PreferenceCategory>
</PreferenceScreen>
SettingsFragment.java
public class SettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.settings, rootKey);
}
}
Listener from MainActivity.java
@Override
public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
if (menuItem.getItemId() == R.id.nav_settings) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(android.R.id.content, new SettingsFragment()).addToBackStack(null).commit();
}
return false;
}
What am I doing wrong?
