下面列出了android.support.design.widget.BottomSheetBehavior#STATE_EXPANDED 实例代码,或者点击链接到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;
}
}
public boolean onBackPressed() {
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
return false;
}
return true;
}
@Override
public void onMapClick(LatLng latLng) {
((RouteActivity) getActivity()).showToolbar();
if (mBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mDrawer.isDrawerOpen(Gravity.START)) {
mDrawer.closeDrawer(Gravity.START);
} else if (mBehaviorPoi.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBehaviorPoi.setState(BottomSheetBehavior.STATE_HIDDEN);
} else {
exitApp();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onMapClick(LatLng latLng) {
((RouteActivity) getActivity()).showToolbar();
if (mBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
@Override
public void onMapClick(LatLng latLng) {
((RouteActivity) getActivity()).showToolbar();
if (mBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mDrawer.isDrawerOpen(Gravity.START)) {
mDrawer.closeDrawer(Gravity.START);
} else if (mBehaviorPoi.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBehaviorPoi.setState(BottomSheetBehavior.STATE_HIDDEN);
} else {
exitApp();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
private void resetBottomSheetState(int bottomSheetState) {
if (bottomSheetState > INVALID_STATE) {
boolean isShowing = bottomSheetState == BottomSheetBehavior.STATE_EXPANDED;
summaryBehavior.setHideable(!isShowing);
summaryBehavior.setState(bottomSheetState);
}
}
@Override
public void showBottomSheet() {
if (mBottomSheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
} else {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
}
@Override
public void onBackPressed() {
if (behavior.getState() == BottomSheetBehavior.STATE_EXPANDED)
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
else
super.onBackPressed();
}
@Override
public void onBackPressed() {
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
return;
}
super.onBackPressed();
Luhn.sLuhnCallback.onFinished(false);
}
@Override
public void onBackPressed() {
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
return;
}
super.onBackPressed();
sLuhnCallback.onFinished(false);
}
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (fluentAppBarType == CLICK_FLUENT) {
if (newState == BottomSheetBehavior.STATE_EXPANDED) {
handleShowFluentBlur();
} else if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
BlurView blurView = (BlurView) findViewById(R.id.blurview);
blurView.setBlurEnabled(false);
setBackgroundColor(backgroundColour);
}
}
}
@OnClick(R.id.card_item_1)
void showBottomSheet() {
int lastState = bottomSheetBehavior.getState();
switch (lastState) {
case BottomSheetBehavior.STATE_COLLAPSED:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
break;
case BottomSheetBehavior.STATE_EXPANDED:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
break;
case BottomSheetBehavior.STATE_HIDDEN:
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
break;
}
}
private void bottomSheet() {
if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
} else {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
}
@Override
public void onResume() {
super.onResume();
presenter.getCategories();
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
presenter.loadTimeline();
}
cleanAmountInput();
}
/**
* Menu methods
*/
@Override
public boolean isMenuOpen() {
return bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED;
}
@Override
public void onBackPressed() {
if (behavior.getState() == BottomSheetBehavior.STATE_EXPANDED) behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
else super.onBackPressed();
}
@Override
public void onBackPressed() {
if (behavior.getState() == BottomSheetBehavior.STATE_EXPANDED) behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
else super.onBackPressed();
}