3 回答
TA贡献1111条经验 获得超0个赞
获取状态栏高度的支持方法是使用WindowInsets从API 21+开始的类:
customView.setOnApplyWindowInsetsListener((view, insets) -> {
// Handle insets
return insets.consumeSystemWindowInsets();
});
或WindowInsetsCompat用于支持库:
ViewCompat.setOnApplyWindowInsetsListener(customView, (view, insets) -> {
// Handle insets
return insets.consumeSystemWindowInsets();
});
您还可以onApplyWindowInsets在视图内部覆盖方法:
public class CustomView extends View {
@Override
public WindowInsets onApplyWindowInsets(final WindowInsets insets) {
final int statusBarHeight = insets.getStableInsetTop();
return insets.consumeStableInsets();
}
}
有关更多详细信息,我建议检查Chris Banes的演讲- 成为主窗口装配工(此处提供幻灯片)。
- 3 回答
- 0 关注
- 659 浏览
添加回答
举报