底部按钮可见性 sheet 行为更改
button visibility on bottom sheet behavior change
我在 bottomsheet 上有一个名为 share 的按钮,现在我希望该按钮仅在状态展开时可见,在任何其他状态下按钮不应该可见。这是我试过的代码。
if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {share.setVisibility(View.VISIBLE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED){share.setVisibility(View.GONE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);}
但是当我拖动 bottomsheet 展开或折叠时没有任何反应,有没有我不知道的正确方法
你可以试试这个
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_EXPANDED) {
share.setVisibility(View.VISIBLE);
}else{
share.setVisibility(View.GONE);
}
}
@Override
public void onSlide(View bottomSheet, float slideOffset) {
}
});
我在 bottomsheet 上有一个名为 share 的按钮,现在我希望该按钮仅在状态展开时可见,在任何其他状态下按钮不应该可见。这是我试过的代码。
if (mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {share.setVisibility(View.VISIBLE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED){share.setVisibility(View.GONE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);}
if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_SETTLING){share.setVisibility(View.GONE);}
但是当我拖动 bottomsheet 展开或折叠时没有任何反应,有没有我不知道的正确方法
你可以试试这个
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_EXPANDED) {
share.setVisibility(View.VISIBLE);
}else{
share.setVisibility(View.GONE);
}
}
@Override
public void onSlide(View bottomSheet, float slideOffset) {
}
});