ui: Handle bottom insets in SettingsFragment

This commit is contained in:
Peter Cai 2024-10-05 20:22:39 -04:00
parent da45e570ca
commit bdfd8c29be

View file

@ -9,8 +9,14 @@ import android.os.Build;
import android.os.Bundle;
import android.os.RemoteException;
import android.provider.Settings;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.preference.CheckBoxPreference;
import androidx.preference.DropDownPreference;
import androidx.preference.Preference;
@ -49,6 +55,16 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
private DropDownPreference mPrefAutoFreezeDelay = null;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ViewCompat.setOnApplyWindowInsetsListener(view.findViewById(androidx.preference.R.id.recycler_view), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPaddingRelative(0, 0, 0, insets.bottom);
return WindowInsetsCompat.CONSUMED;
});
}
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.preferences_settings);