要解决Android中Snackbar在片段/协调布局中不可见的问题,可以尝试以下解决方法。
getView().findViewById(android.R.id.content)
获取根视图。Snackbar.make(getView().findViewById(android.R.id.content), "Snackbar Message", Snackbar.LENGTH_SHORT).show();
getActivity().findViewById(android.R.id.content)
获取活动的根视图。Snackbar.make(getActivity().findViewById(android.R.id.content), "Snackbar Message", Snackbar.LENGTH_SHORT).show();
CoordinatorLayout
,则Snackbar可以与之交互。确保在布局文件中正确使用了CoordinatorLayout
作为根视图,并将Snackbar附加到CoordinatorLayout
上。
然后在代码中,使用findViewById
获取CoordinatorLayout
的引用,并将Snackbar附加到它上面。
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(findViewById(android.R.id.content), "Snackbar Message", Snackbar.LENGTH_SHORT).show();
}
});
通过以上方法,您应该能够在片段或协调布局中正确显示Snackbar。请根据您的具体情况选择适合的解决方法。