我试着把小吃店带到最前面的UI。
我的案子是
1.使用设置面板打开internet_connectivity弹出窗口(模式)。ACTION_INTERNET_CONNECTIVITY
1.当用户启用WiFi时,我的应用程序会显示关闭此模态的警报。
1.但是,snackbar显示或出现在系统ui(互联网连接模式)后面。
自Android 12以来,吐司的定制非常有限,所以这就是为什么我决定使用snackbar作为主要选项。
我意识到吐司是由系统控制的,所以也许这就是为什么它总是用户最重要的用户界面,即使系统用户界面(如互联网连接面板)出现,我希望snackbar遵循这一确切的行为。
我该如何让snackbar成为最重要的UI?
我觉得当使用snackbar时,我们使用view作为参数来传递,所以操纵这个视图会使一些不同的东西,但我不能弄清楚。
2条答案
按热度按时间aamkag611#
不,你不能这么做。
Snackbar将尝试从给定的视图值中找到一个父视图来保存Snackbar的视图。Snackbar将沿着视图树向上移动,尝试找到一个合适的父视图,它被定义为CoordinatorLayout或窗口装饰的内容视图,以先到者为准。官方链接
上面明确提到Snackbar将找到并使用给定视图的父视图。因此,该视图在其他应用程序中是不可访问的。但是,如果将视图设置为静态,则会导致内存泄漏。
lmvvr0a82#
这也许能帮到你
View view
成为全局变量,并将它们初始化为您调用的onCreate()
function(View view)
SnackBar
声明代码view