ViewCompat.setOnApplyWindowInsetsListener in PostImageActivity.

This commit is contained in:
Docile-Alligator
2025-06-16 21:43:04 -04:00
parent c479437ba9
commit 0d8398bf00
2 changed files with 35 additions and 2 deletions

View File

@ -21,6 +21,10 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.FileProvider;
import androidx.core.graphics.Insets;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.bumptech.glide.Glide;
@ -141,8 +145,36 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF
applyCustomTheme();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && isChangeStatusBarIconColor()) {
addOnOffsetChangedListener(binding.appbarLayoutPostImageActivity);
if (isImmersiveInterface()) {
if (isChangeStatusBarIconColor()) {
addOnOffsetChangedListener(binding.appbarLayoutPostImageActivity);
}
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.toolbarPostImageActivity,
allInsets.left,
allInsets.top,
allInsets.right,
BaseActivity.IGNORE_MARGIN);
binding.linearLayoutPostImageActivity.setPadding(
allInsets.left,
0,
allInsets.right,
allInsets.bottom
);
return WindowInsetsCompat.CONSUMED;
}
});
}
setSupportActionBar(binding.toolbarPostImageActivity);

View File

@ -24,6 +24,7 @@
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:id="@+id/linear_layout_post_image_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"