安卓开发02 EdgeToEdge.enable(this);

他妈的,随便百度了两下,就找到解决方法了

现在三点了,距离六点下班还有三小时,再学一小时吧,

一小时安卓,一小时juc,一小时看小说,

草,

老子我真草

视频是旧的,哪哪都不一样,安卓迭代太快了,没人搞教程视频,

EdgeToEdge.enable(this);

EdgeToEdge.enable(this); 这行代码实际上并不是 Android SDK 中的标准方法。它可能来自一个第三方库或工具类,用于启用 Edge-to-Edge 模式。这种模式的目的是让应用的界面内容能够延伸到屏幕的边缘,避免被状态栏和导航栏等系统元素遮挡。

在 Android 11 及更高版本中,系统提供了类似的功能,可以通过 WindowInsets 来控制状态栏、导航栏等的内外边距,让内容更好地适配不同的屏幕区域。虽然 EdgeToEdge.enable() 不是标准 Android API 中的一部分,但从你的代码来看,它可能是用来简化或封装这些操作的工具。

Android 官方的类似操作:

如果你希望实现类似的功能(启用 Edge-to-Edge 模式),你可以使用 WindowInsets API 来确保你的应用内容延伸到屏幕的边缘并不被系统栏遮挡。以下是如何在 Android 11 及以上版本启用这种模式的标准方法:

// 在 Activity 的 onCreate 方法中添加:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
    getWindow().setDecorFitsSystemWindows(false);
}

解释:

  • getWindow().setDecorFitsSystemWindows(false) 使得应用的内容区域不再受到系统状态栏和导航栏的限制,允许应用的 UI 扩展到屏幕的边缘。
  • 这相当于启用了 Edge-to-Edge 模式。

对比:

  • EdgeToEdge.enable(this) 可能是一个封装了类似操作的工具或库方法,它的作用和上述代码类似——简化了对系统窗体(包括状态栏和导航栏)适配的处理。

如何处理系统栏的 Insets:

在启用 Edge-to-Edge 模式后,通常你还需要考虑如何处理系统栏的 Insets,以防止 UI 内容被遮挡。可以使用 WindowInsets 来获取系统栏的内边距,并相应地调整视图布局。

ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
    Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
    v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
    return insets;
});

总结:

EdgeToEdge.enable(this) 可能是一个第三方库或自定义工具的函数,它用于启用 Edge-to-Edge 显示模式。你可以使用 getWindow().setDecorFitsSystemWindows(false) 来实现相同的效果。如果你使用的是较新的 Android 版本(Android 11 及以上),这两种方法应该可以让你的应用界面延伸到屏幕的边缘,并通过 WindowInsets 来处理状态栏和导航栏的遮挡问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值