Android 如何在BottomSheetDialogFragment中显示SnackBar?
我搜索了很多,但没有找到任何解决方案,也没有帮助。我传递了片段的rootView,还尝试从getActivity传递一个视图,但它们都不起作用Android 如何在BottomSheetDialogFragment中显示SnackBar?,android,android-fragments,bottom-sheet,android-snackbar,Android,Android Fragments,Bottom Sheet,Android Snackbar,我搜索了很多,但没有找到任何解决方案,也没有帮助。我传递了片段的rootView,还尝试从getActivity传递一个视图,但它们都不起作用 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.content_dialog_bottom_sh
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.content_dialog_bottom_sheet, container, false);
Snackbar.make(MyActivity.myTextview, "Hello", Snackbar.LENGTH_INDEFINITE).show();
Snackbar.make(rootView, "Hello", Snackbar.LENGTH_INDEFINITE).show();
return rootView;
}
和我的内容对话框底部工作表:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottomSheetLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background"
app:behavior_hideable="true"
app:behavior_peekHeight="180dp"
app:layout_behavior="@string/bottom_sheet_behavior">
//some views
</RelativeLayout>
//一些观点
延迟后显示snackbar:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Snackbar.make(rootView, "Hello", Snackbar.LENGTH_INDEFINITE).show();
}
},200);
解决方案相当简单。您需要:
CoordinatorLayout
包装对话框布局(如果要在某个特定视图旁边显示snackbar,请将其包装)CoordinatorLayout
id作为视图添加一些代码please@ImAtWar我添加了如何显示布局文件代码。如果它仍然是实际帮助。如果你想在oncreateview中显示snackbar。在延迟后再做。否则,点击按钮可以显示它的工作方向。这是一个简单的点击监听器!谢谢。这项工作在花了2个小时到排水沟后进行。:)