我想使用 snackbar
在应用程序的任何部分显示消息。我的意思是当 wifi 被禁用时,
应该有一个 snackbar 说 wifi 已禁用。这是在应用程序的任何部分(任何 fragment 或任何 Activity )中确定的。
目前,我正在 subfragment
中确定这一点,其中所有 fragment 都扩展了 subfragment
并且我还在 MainActivity
中使用它。
这很好用。问题在于 snackbar
的协调器布局。如何在每个 xml 中提供此 协调器布局
?
最佳解决方案是什么?
最佳答案
我认为常见的方法是遍历 Root View 并找到作为 CoordinatorLayout 实例的 subview ,代码段可能如下所示:
public View getCoordinateLayout(Activity activity) {
ViewGroup vg = (ViewGroup) activity.findViewById(android.R.id.content);
ViewGroup root = (ViewGroup) vg.getChildAt(0);
int childCount = root.getChildCount();
for(int i=0;i<childCount;i++){
View view = root.getChildAt(i);
if(view instanceof CoordinatorLayout){
return view;
}
}
return null;
}
关于java - xml 的协调器布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369183/