Settings fragment does not have background

31 views Asked by At

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.

enter image description here

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?

0

There are 0 answers