原文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) {    }});

如此简单。

更多相关文章

  1. 安卓学习之--UI控件用法 单选 按钮 下拉框
  2. Android事件分发机制概括
  3. Android自定义控件之自定义进度条
  4. Android(安卓)TV Overscan
  5. android开发笔记之LayoutInflater的理解和使用
  6. android 文本框(textview)左右滑动
  7. widget开发实例代码
  8. Android开发之Http通信HttpURLConnection接口
  9. android 将图片内容解析成字节数组,将字节数组转换为ImageView可

随机推荐

  1. 百度地图SDK for Android【简介】
  2. Android 模拟器创建参数说明
  3. Android Studio初探:不只是一个简单的IDE
  4. Android介绍与前景
  5. Android图像篇
  6. Flash 之ANE的applicationDeployment.nat
  7. 开发Android应用 提升性能的小技巧
  8. Android Button应用法则
  9. 使用Android Studio 创建第一个Android
  10. 如何在Android和iOS设备上录制游戏?