[译]三分钟玩转Android(安卓)Bottom Sheet
16lz
2021-01-25
原文Android: Bottom sheet——Emrullah Lüleci。
Bottom Sheet
是一个可拖动的控件,从底部往上滑动展现更多内容。可以从 Google Material Design获取更多关于Bottom Sheet
的详细信息。
添加依赖
添加最新的support库依赖
dependencies { //replace X.X.X with the latest version compile 'com.android.support:appcompat-v7:X.X.X' compile 'com.android.support:design:X.X.X'}
让Activity
继承AppCompatActivity
public class ButtonActivity extends AppCompatActivity {
…
}
创建布局
Bottom Sheet的内容
简单至上,这是Bottom Sheet
包含的布局,文件名叫bottom_sheet.xml。
<?xml version="1.0" encoding="utf-8"?>
behavior_peekHeight:定义可见部分的高度。
behavior_hideable:定义是否能通过下滑手势收起Bottom Sheet
。
父布局
将CoordinatorLayout
作为根布局,Bottom Sheet
作为子控件,下面app_bar
和activity_bottom_sheet_content
都是无关紧要的控件,可以移除。
<?xml version="1.0" encoding="utf-8"?>
这时候的效果是这样的
动态控制
在代码中动态控制Bottom Sheet
// get the bottom sheet viewLinearLayout llBottomSheet = (LinearLayout) findViewById(R.id.bottom_sheet);// init the bottom sheet behaviorBottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(llBottomSheet);// change the state of the bottom sheetbottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);// set the peek heightbottomSheetBehavior.setPeekHeight(340);// set hideable or notbottomSheetBehavior.setHideable(false);// set callback for changesbottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { }});
如此简单。
更多相关文章
- 安卓学习之--UI控件用法 单选 按钮 下拉框
- Android事件分发机制概括
- Android自定义控件之自定义进度条
- Android(安卓)TV Overscan
- android开发笔记之LayoutInflater的理解和使用
- android 文本框(textview)左右滑动
- widget开发实例代码
- Android开发之Http通信HttpURLConnection接口
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可