下面列出了android.support.design.widget.BottomSheetBehavior#STATE_HIDDEN 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.theme_selected :
case R.id.fab:
// change the state of the bottom sheet
switch (mBottomSheetBehavior.getState()){
case BottomSheetBehavior.STATE_HIDDEN :
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
break;
case BottomSheetBehavior.STATE_COLLAPSED :
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
case BottomSheetBehavior.STATE_EXPANDED :
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
break;
}
break;
}
}
private static void toggleBottomSheet(View bottomSheet) {
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
int state = bottomSheetBehavior.getState();
switch (state) {
case BottomSheetBehavior.STATE_COLLAPSED:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
case BottomSheetBehavior.STATE_HIDDEN:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
break;
case BottomSheetBehavior.STATE_EXPANDED:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
break;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnBehavior:
int state = behavior.getState();
if (state == BottomSheetBehavior.STATE_EXPANDED) {
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
} else if(state == BottomSheetBehavior.STATE_COLLAPSED){
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}else if(state == BottomSheetBehavior.STATE_HIDDEN){
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
break;
case R.id.btnDialog:
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
bottomSheetDialog.setContentView(R.layout.include_bottom_sheet_layout);
bottomSheetDialog.show();
break;
case R.id.btn_baidumap:
readyGo(BaiduMapSample.class);
break;
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet,
@BottomSheetBehavior.State int newState) {
if (mCallback != null) {
mCallback.onStateChanged(bottomSheet, newState);
}
//noinspection WrongConstant
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
mBehavior.setBottomSheetCallback(null);
try {
BottomSheetMenuDialog.super.dismiss();
} catch (IllegalArgumentException e) {
// Ignore exception handling
}
// User dragged the sheet.
if (!mClicked && !mRequestDismiss && !mRequestCancel && mOnCancelListener != null) {
mOnCancelListener.onCancel(BottomSheetMenuDialog.this);
}
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet,
@BottomSheetBehavior.State int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
cancel();
}
}
@Override
public void onBackPressed() {
BottomSheetBehavior b = BottomSheetBehavior.from(mPanel);
if (b.getState() != BottomSheetBehavior.STATE_HIDDEN) {
b.setState(BottomSheetBehavior.STATE_HIDDEN);
return;
}
super.onBackPressed();
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
}
private boolean hideBottomSheet() {
if (mBehavior != null && mBehavior.getState() != BottomSheetBehavior.STATE_HIDDEN) {
mBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
return true;
}
return false;
}
private void toggleBottomSheet() {
if (mBehavior == null) {
return;
}
if (mBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
mBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
} else {
mBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN || newState == BottomSheetBehavior.STATE_COLLAPSED) {
dismiss();
}
}
@Override
public boolean isSummaryBottomSheetHidden() {
return summaryBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN;
}
@Override
public void onMoveEnd(MoveGestureDetector detector) {
if (summaryBehavior.getState() != BottomSheetBehavior.STATE_HIDDEN) {
navigationPresenter.onMapScroll();
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
}
@Override public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
isAlreadyHidden = true;
onHidden();
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
dismiss();
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, /*@BottomSheetBehavior.State*/ int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
cancel();
}
}
private void tryToShowSoftKeyboard(View view) {
if (behavior.getState() == BottomSheetBehavior.STATE_COLLAPSED || behavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
}
private void tryToShowSoftKeyboard(View view) {
if (behavior.getState() == BottomSheetBehavior.STATE_COLLAPSED || behavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_HIDDEN) {
finish();
}
}