Search in sources :

Example 1 with BottomSheetBehavior

use of com.google.android.material.bottomsheet.BottomSheetBehavior 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;
    });
}
Also used : BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) ActionMode(android.view.ActionMode) Bundle(android.os.Bundle) CreateFolderDialogFragment(com.owncloud.android.ui.dialog.CreateFolderDialogFragment) NonNull(androidx.annotation.NonNull) OCFile(com.owncloud.android.datamodel.OCFile) PreferenceUtils(com.owncloud.android.utils.PreferenceUtils) OnEnforceableRefreshListener(com.owncloud.android.ui.activity.OnEnforceableRefreshListener) PowerManager(android.os.PowerManager) SortType(com.owncloud.android.presentation.ui.files.SortType) Handler(android.os.Handler) View(android.view.View) OwnCloudVersion(com.owncloud.android.lib.resources.status.OwnCloudVersion) Animation(android.view.animation.Animation) AdapterView(android.widget.AdapterView) ConfirmationDialogFragment(com.owncloud.android.ui.dialog.ConfirmationDialogFragment) PreferenceManager(android.preference.PreferenceManager) CoordinatorLayout(androidx.coordinatorlayout.widget.CoordinatorLayout) FileMenuFilter(com.owncloud.android.files.FileMenuFilter) FolderPickerActivity(com.owncloud.android.ui.activity.FolderPickerActivity) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView) SearchView(androidx.appcompat.widget.SearchView) PreviewAudioFragment(com.owncloud.android.ui.preview.PreviewAudioFragment) ViewGroup(android.view.ViewGroup) Timber(timber.log.Timber) SparseBooleanArrayParcelable(com.owncloud.android.ui.helpers.SparseBooleanArrayParcelable) List(java.util.List) TextView(android.widget.TextView) Nullable(androidx.annotation.Nullable) SortOrder(com.owncloud.android.presentation.ui.files.SortOrder) FileDataStorageManager(com.owncloud.android.datamodel.FileDataStorageManager) FragmentExtKt(com.owncloud.android.extensions.FragmentExtKt) ListView(android.widget.ListView) NotNull(org.jetbrains.annotations.NotNull) Window(android.view.Window) Snackbar(com.google.android.material.snackbar.Snackbar) R(com.owncloud.android.R) FileListListAdapter(com.owncloud.android.ui.adapter.FileListListAdapter) Context(android.content.Context) DrawerLayout(androidx.drawerlayout.widget.DrawerLayout) ViewType(com.owncloud.android.presentation.ui.files.ViewType) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) FileActivity(com.owncloud.android.ui.activity.FileActivity) Intent(android.content.Intent) RenameFileDialogFragment(com.owncloud.android.ui.dialog.RenameFileDialogFragment) FileListOption(com.owncloud.android.ui.activity.FileListOption) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) AnimationUtils(android.view.animation.AnimationUtils) SortBottomSheetFragment(com.owncloud.android.presentation.ui.files.SortBottomSheetFragment) MenuInflater(android.view.MenuInflater) PreviewImageFragment(com.owncloud.android.ui.preview.PreviewImageFragment) Menu(android.view.Menu) PreviewVideoFragment(com.owncloud.android.ui.preview.PreviewVideoFragment) SortOptionsView(com.owncloud.android.presentation.ui.files.SortOptionsView) LayoutInflater(android.view.LayoutInflater) SwipeRefreshLayout(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) PreviewTextFragment(com.owncloud.android.ui.preview.PreviewTextFragment) AbsListView(android.widget.AbsListView) AccountUtils(com.owncloud.android.authentication.AccountUtils) File(java.io.File) FileStorageUtils(com.owncloud.android.utils.FileStorageUtils) SparseBooleanArray(android.util.SparseBooleanArray) SharedPreferences(android.content.SharedPreferences) FileDisplayActivity(com.owncloud.android.ui.activity.FileDisplayActivity) RemoveFilesDialogFragment(com.owncloud.android.ui.dialog.RemoveFilesDialogFragment) BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) FileDisplayActivity(com.owncloud.android.ui.activity.FileDisplayActivity) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) TextView(android.widget.TextView) Intent(android.content.Intent) View(android.view.View) AdapterView(android.widget.AdapterView) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView) SearchView(androidx.appcompat.widget.SearchView) TextView(android.widget.TextView) ListView(android.widget.ListView) SortOptionsView(com.owncloud.android.presentation.ui.files.SortOptionsView) AbsListView(android.widget.AbsListView) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView)

Example 2 with BottomSheetBehavior

use of com.google.android.material.bottomsheet.BottomSheetBehavior in project SmoothRefreshLayout by dkzwm.

the class TestRecyclerViewInNestedScrollViewActivity method onOptionsItemSelected.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        case Menu.FIRST:
            LinearLayout linearLayout = findViewById(R.id.linearLayout_test_recyclerView_in_nestedScrollView);
            BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(linearLayout);
            if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
                bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
            } else {
                bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
            }
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
Also used : BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) LinearLayout(android.widget.LinearLayout)

Example 3 with BottomSheetBehavior

use of com.google.android.material.bottomsheet.BottomSheetBehavior in project SmoothRefreshLayout by dkzwm.

the class TestRecyclerViewInNestedScrollViewInSrlActivity method onOptionsItemSelected.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        case Menu.FIRST:
            LinearLayout linearLayout = findViewById(R.id.linearLayout_test_recyclerView_in_nestedScrollView);
            BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(linearLayout);
            if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
                bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
            } else {
                bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
            }
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
Also used : BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) LinearLayout(android.widget.LinearLayout)

Example 4 with BottomSheetBehavior

use of com.google.android.material.bottomsheet.BottomSheetBehavior in project simperium-android by Simperium.

the class LoginBottomSheetDialogFragment method onCreateView.

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    final View layout = inflater.inflate(R.layout.sheet_login, null);
    AppCompatButton buttonEmail = layout.findViewById(R.id.button_email);
    buttonEmail.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mLoginSheetListener.onLoginSheetEmailClicked();
        }
    });
    AppCompatButton buttonOther = layout.findViewById(R.id.button_other);
    buttonOther.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mLoginSheetListener.onLoginSheetOtherClicked();
        }
    });
    if (getDialog() != null) {
        getDialog().setContentView(layout);
        // Set peek height to full height of view (i.e. set STATE_EXPANDED) to avoid buttons
        // being off screen when bottom sheet is shown.
        getDialog().setOnShowListener(new DialogInterface.OnShowListener() {

            @Override
            public void onShow(DialogInterface dialogInterface) {
                BottomSheetDialog bottomSheetDialog = (BottomSheetDialog) dialogInterface;
                FrameLayout bottomSheet = bottomSheetDialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);
                if (bottomSheet != null) {
                    BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
                    behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
                    behavior.setSkipCollapsed(true);
                }
            }
        });
    }
    return super.onCreateView(inflater, container, savedInstanceState);
}
Also used : BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) DialogInterface(android.content.DialogInterface) FrameLayout(android.widget.FrameLayout) View(android.view.View) AppCompatButton(androidx.appcompat.widget.AppCompatButton) Nullable(androidx.annotation.Nullable)

Example 5 with BottomSheetBehavior

use of com.google.android.material.bottomsheet.BottomSheetBehavior in project Weather by Sparker0i.

the class CustomBottomSheetDialogFragment method setupDialog.

@Override
public void setupDialog(Dialog dialog, int style) {
    // super.setupDialog(dialog, style);
    View contentView = View.inflate(getContext(), R.layout.dialog_modal, null);
    dialog.setContentView(contentView);
    CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) ((View) contentView.getParent()).getLayoutParams();
    CoordinatorLayout.Behavior behavior = layoutParams.getBehavior();
    if (behavior != null && behavior instanceof BottomSheetBehavior) {
        ((BottomSheetBehavior) behavior).setBottomSheetCallback(mBottomSheetBehaviorCallback);
    }
}
Also used : CoordinatorLayout(androidx.coordinatorlayout.widget.CoordinatorLayout) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) TextView(android.widget.TextView) View(android.view.View)

Aggregations

BottomSheetBehavior (com.google.android.material.bottomsheet.BottomSheetBehavior)7 View (android.view.View)3 LinearLayout (android.widget.LinearLayout)2 TextView (android.widget.TextView)2 Nullable (androidx.annotation.Nullable)2 CoordinatorLayout (androidx.coordinatorlayout.widget.CoordinatorLayout)2 BottomSheetDialog (com.google.android.material.bottomsheet.BottomSheetDialog)2 Context (android.content.Context)1 DialogInterface (android.content.DialogInterface)1 Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 Bundle (android.os.Bundle)1 Handler (android.os.Handler)1 PowerManager (android.os.PowerManager)1 PreferenceManager (android.preference.PreferenceManager)1 SparseBooleanArray (android.util.SparseBooleanArray)1 ActionMode (android.view.ActionMode)1 LayoutInflater (android.view.LayoutInflater)1 Menu (android.view.Menu)1 MenuInflater (android.view.MenuInflater)1