use of com.google.android.material.bottomsheet.BottomSheetDialog in project android by owncloud.
the class OCFileListFragment method registerFabUploadListeners.
/**
* registers {@link android.view.View.OnClickListener} and {@link android.view.View.OnLongClickListener}
* on the Upload mini FAB for the linked action an {@link Snackbar} showing the underlying action.
*/
private void registerFabUploadListeners() {
getFabUpload().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final View uploadBottomSheet = getLayoutInflater().inflate(R.layout.upload_bottom_sheet_fragment, null);
final BottomSheetDialog dialog = new BottomSheetDialog(requireContext());
dialog.setContentView(uploadBottomSheet);
final BottomSheetFragmentItemView uploadFromFilesItemView = uploadBottomSheet.findViewById(R.id.upload_from_files_item_view);
BottomSheetFragmentItemView uploadFromCameraItemView = uploadBottomSheet.findViewById(R.id.upload_from_camera_item_view);
TextView uploadToTextView = uploadBottomSheet.findViewById(R.id.upload_to_text_view);
uploadFromFilesItemView.setOnTouchListener((v13, event) -> {
Intent action = new Intent(Intent.ACTION_GET_CONTENT);
action = action.setType(ALL_FILES_SAF_REGEX).addCategory(Intent.CATEGORY_OPENABLE);
action.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
getActivity().startActivityForResult(Intent.createChooser(action, getString(R.string.upload_chooser_title)), FileDisplayActivity.REQUEST_CODE__SELECT_CONTENT_FROM_APPS);
dialog.hide();
return false;
});
uploadFromCameraItemView.setOnTouchListener((v12, event) -> {
((FileDisplayActivity) getActivity()).getFilesUploadHelper().uploadFromCamera(FileDisplayActivity.REQUEST_CODE__UPLOAD_FROM_CAMERA);
dialog.hide();
return false;
});
uploadToTextView.setText(String.format(getResources().getString(R.string.upload_to), getResources().getString(R.string.app_name)));
final BottomSheetBehavior uploadBottomSheetBehavior = BottomSheetBehavior.from((View) uploadBottomSheet.getParent());
dialog.setOnShowListener(dialog1 -> uploadBottomSheetBehavior.setPeekHeight(uploadBottomSheet.getMeasuredHeight()));
dialog.show();
getFabMain().collapse();
recordMiniFabClick();
}
});
getFabUpload().setOnLongClickListener(v -> {
showSnackMessage(R.string.actionbar_upload);
return true;
});
}
use of com.google.android.material.bottomsheet.BottomSheetDialog in project Signal-Android by WhisperSystems.
the class ReactWithAnyEmojiBottomSheetDialogFragment method onCreateDialog.
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
dialog.getBehavior().setPeekHeight((int) (getResources().getDisplayMetrics().heightPixels * 0.50));
ShapeAppearanceModel shapeAppearanceModel = ShapeAppearanceModel.builder().setTopLeftCorner(CornerFamily.ROUNDED, ViewUtil.dpToPx(requireContext(), 18)).setTopRightCorner(CornerFamily.ROUNDED, ViewUtil.dpToPx(requireContext(), 18)).build();
MaterialShapeDrawable dialogBackground = new MaterialShapeDrawable(shapeAppearanceModel);
dialogBackground.setTint(ContextCompat.getColor(requireContext(), R.color.react_with_any_background));
dialog.getBehavior().addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (bottomSheet.getBackground() != dialogBackground) {
ViewCompat.setBackground(bottomSheet, dialogBackground);
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
});
boolean shadows = requireArguments().getBoolean(ARG_SHADOWS, true);
if (!shadows) {
Window window = dialog.getWindow();
if (window != null) {
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
}
return dialog;
}
use of com.google.android.material.bottomsheet.BottomSheetDialog in project FlexibleAdapter by davideas.
the class BottomSheetSectionDialog method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mBottomSheetDialog = new BottomSheetDialog(getActivity(), R.style.AppTheme_BottomSheetDialog);
mBottomSheetDialog.setContentView(getArguments().getInt(ARG_LAYOUT));
mBottomSheetDialog.findViewById(R.id.select_item_type).setOnClickListener(this);
mBottomSheetDialog.findViewById(R.id.select_item_type).setOnTouchListener(new SimpleOnTouchListener(getContext()));
mBottomSheetDialog.findViewById(R.id.select_reference_button).setOnClickListener(this);
mBottomSheetDialog.findViewById(R.id.select_reference_button).setOnTouchListener(new SimpleOnTouchListener(getContext()));
mBottomSheetDialog.findViewById(R.id.new_item).setOnClickListener(this);
createPopUps();
return mBottomSheetDialog;
}
use of com.google.android.material.bottomsheet.BottomSheetDialog in project FlexibleAdapter by davideas.
the class BottomSheetDecorationDialog method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mBottomSheetDialog = new BottomSheetDialog(getActivity(), R.style.AppTheme_BottomSheetDialog);
mBottomSheetDialog.setContentView(getArguments().getInt(ARG_LAYOUT));
setListener();
configureEdges();
configureDividers();
return mBottomSheetDialog;
}
use of com.google.android.material.bottomsheet.BottomSheetDialog in project collect by opendatakit.
the class AppListFragment method setupBottomSheet.
private void setupBottomSheet() {
CollectAbstractActivity activity = (CollectAbstractActivity) getActivity();
if (activity == null) {
Timber.e("Activity is null");
return;
}
bottomSheetDialog = new BottomSheetDialog(activity);
View sheetView = getActivity().getLayoutInflater().inflate(R.layout.bottom_sheet, null);
final RecyclerView recyclerView = sheetView.findViewById(R.id.recyclerView);
final SortDialogAdapter adapter = new SortDialogAdapter(getActivity(), recyclerView, sortingOptions, getSelectedSortingOrder(), new RecyclerViewClickListener() {
@Override
public void onItemClicked(SortDialogAdapter.ViewHolder holder, int position) {
holder.updateItemColor(selectedSortingOrder);
performSelectedSearch(position);
bottomSheetDialog.dismiss();
}
});
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);
recyclerView.setItemAnimator(new DefaultItemAnimator());
bottomSheetDialog.setContentView(sheetView);
}
Aggregations