在Android 11中,windowInsets.getStableInsetBottom
方法被弃用,可以使用新的方法来获取稳定的底部插图。通过使用windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
方法,可以获取到系统栏的插图。
以下是一个示例代码,展示了如何获取稳定的底部插图:
// 在Activity或View中调用
ViewCompat.setOnApplyWindowInsetsListener(view, new OnApplyWindowInsetsListener() {
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
// 获取系统栏的插图
Insets systemWindowInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars());
int stableInsetBottom = systemWindowInsets.bottom;
// 执行你的逻辑
return insets;
}
});
在上述代码中,windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
方法返回一个Insets
对象,然后可以通过bottom
属性来获取稳定的底部插图。
请注意,OnApplyWindowInsetsListener
需要在适当的地方设置,例如在Activity的onCreate
方法中或者View的构造函数中。
希望对你有所帮助!