简介
BottomSheetDialog(design包)属BottomSheet家族。同AlertDialog都继承AppCompatDialog,有setContentView(),无getContentView()。
使用
布局
Dialog布局可无CoordinatorLayout包裹,但根标签仍荐用滑动控件NestedScrollView。NestedScrollView时弹窗后背景自暗,其它如LinearLayout时弹窗后背景不变暗。
构造
- 方式一
BottomSheetDialog bottomSheetDialog= new BottomSheetDialog(this);
- 方式二
<style name="BottomSheetDialog" parent="Theme.Design.BottomSheetDialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:background">@android:color/transparent</item> <item name="android:backgroundDimEnabled">false</item> </style>
BottomSheetDialog bottomSheetDialog= new BottomSheetDialog(this, R.style.BottomSheetDialog);
调用
ViewGroup parent = (ViewGroup) dialogComputingCategoryView.getParent();
if (parent != null) {
parent.removeView(dialogComputingCategoryView);
}
// 内部数据展示
stringList = Arrays.asList(getResources().getStringArray(R.array.ComputationalClass));
display(stringList);
// 初始
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
dialog.setContentView(dialogComputingCategoryView);
// 显示
dialog.show();
除默白背景
// 除默白背景
ViewGroup parentTwo = (ViewGroup) dialogComputingCategoryView.getParent();
parentTwo.setBackgroundResource(android.R.color.transparent);
// 显示
dialog.show();
或
// 除默白背景
dialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet).setBackgroundColor(ContextCompat.getColor(this, R.color.transparent));
// 显示
dialog.show();