mirror of
https://github.com/Docile-Alligator/Infinity-For-Reddit.git
synced 2026-03-06 15:59:17 +00:00
ViewCompat.setOnApplyWindowInsetsListener in CustomThemeListingActivity and CustomThemeListingFragment.
This commit is contained in:
@ -17,6 +17,10 @@ import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.OnApplyWindowInsetsListener;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
@ -109,6 +113,44 @@ public class CustomThemeListingActivity extends BaseActivity implements
|
||||
|
||||
applyCustomTheme();
|
||||
|
||||
if (isImmersiveInterface()) {
|
||||
if (isChangeStatusBarIconColor()) {
|
||||
addOnOffsetChangedListener(binding.appbarLayoutCustomizeThemeListingActivity);
|
||||
}
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.getRoot(), new OnApplyWindowInsetsListener() {
|
||||
@NonNull
|
||||
@Override
|
||||
public WindowInsetsCompat onApplyWindowInsets(@NonNull View v, @NonNull WindowInsetsCompat insets) {
|
||||
Insets allInsets = insets.getInsets(
|
||||
WindowInsetsCompat.Type.systemBars()
|
||||
| WindowInsetsCompat.Type.displayCutout()
|
||||
);
|
||||
|
||||
setMargins(binding.toolbarCustomizeThemeListingActivity,
|
||||
allInsets.left,
|
||||
allInsets.top,
|
||||
allInsets.right,
|
||||
BaseActivity.IGNORE_MARGIN);
|
||||
|
||||
binding.viewPager2CustomizeThemeListingActivity.setPadding(
|
||||
allInsets.left,
|
||||
0,
|
||||
allInsets.right,
|
||||
0
|
||||
);
|
||||
|
||||
setMargins(binding.fabCustomThemeListingActivity,
|
||||
BaseActivity.IGNORE_MARGIN,
|
||||
BaseActivity.IGNORE_MARGIN,
|
||||
(int) Utils.convertDpToPixel(16, CustomThemeListingActivity.this) + allInsets.right,
|
||||
(int) Utils.convertDpToPixel(16, CustomThemeListingActivity.this) + allInsets.bottom);
|
||||
|
||||
return WindowInsetsCompat.CONSUMED;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setSupportActionBar(binding.toolbarCustomizeThemeListingActivity);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
|
||||
@ -13,6 +13,10 @@ import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.OnApplyWindowInsetsListener;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -81,6 +85,23 @@ public class CustomThemeListingFragment extends Fragment {
|
||||
// Inflate the layout for this fragment
|
||||
binding = FragmentCustomThemeListingBinding.inflate(inflater, container, false);
|
||||
|
||||
if (activity.isImmersiveInterface()) {
|
||||
ViewCompat.setOnApplyWindowInsetsListener(activity.getWindow().getDecorView(), new OnApplyWindowInsetsListener() {
|
||||
@NonNull
|
||||
@Override
|
||||
public WindowInsetsCompat onApplyWindowInsets(@NonNull View v, @NonNull WindowInsetsCompat insets) {
|
||||
Insets allInsets = insets.getInsets(
|
||||
WindowInsetsCompat.Type.systemBars()
|
||||
| WindowInsetsCompat.Type.displayCutout()
|
||||
);
|
||||
binding.recyclerViewCustomizeThemeListingActivity.setPadding(
|
||||
0, 0, 0, allInsets.bottom
|
||||
);
|
||||
return insets;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (getArguments() != null) {
|
||||
isOnline = getArguments().getBoolean(EXTRA_IS_ONLINE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user