国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android使用CoordinatorLayout實現底部彈出菜單

2019-10-21 21:36:12
字體:
來源:轉載
供稿:網友

本文實例為大家分享了使用CoordinatorLayout實現底部彈出菜單的具體代碼,供大家參考,具體內容如下

第一步:添加依賴:

compile "com.android.support:design:${project.properties.get("support")}"

第二步:布局引用:

<android.support.design.widget.CoordinatorLayout   xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#04827c">  <RelativeLayout    android:layout_width="match_parent"    android:layout_height="match_parent">    //頁面布局    </RelativeLayout>  <include //引入菜單布局    android:id="@+id/au_bottom_sheet"    layout="@layout/view_audio_list"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:focusable="true"    app:behavior_hideable="true"    app:behavior_peekHeight="0dp"    app:layout_behavior="@string/bottom_sheet_behavior" /></android.support.design.widget.CoordinatorLayout>

第三步:使用:

//找到BottomSheetBehaviorBottomSheetBehavior behavior = BottomSheetBehavior.from(findViewById(R.id.au_bottom_sheet));//設置彈出高度 behavior.setPeekHeight(WindowHeight / 2); //默認隱藏 behavior.setState(BottomSheetBehavior.STATE_HIDDEN); //添加消失監聽 behavior.setBottomSheetCallback(bottomSheetCallback);

添加菜單消失監聽:

 //狀態監聽,通過這個監聽菜單是否消失  private BottomSheetBehavior.BottomSheetCallback bottomSheetCallback = new BottomSheetBehavior.BottomSheetCallback() {    @Override    public void onStateChanged(@NonNull View bottomSheet, int newState) {      if (newState == BottomSheetBehavior.STATE_HIDDEN) {        if (!isBehaviorShowing(behavior)) {          //菜單已經消失        }      }    }    @Override    public void onSlide(@NonNull View bottomSheet, float slideOffset) {    //滑動監聽    }  };

判斷是否可見:

 private Boolean isBehaviorShowing(BottomSheetBehavior behavior) {    return behavior.getState() == BottomSheetBehavior.STATE_COLLAPSED        || behavior.getState() == BottomSheetBehavior.STATE_EXPANDED        || behavior.getState() == BottomSheetBehavior.STATE_SETTLING;  }

收回菜單:

behavior.setState(BottomSheetBehavior.STATE_HIDDEN);

彈出菜單:

 behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸溪县| 莒南县| 祁门县| 当涂县| 蚌埠市| 温宿县| 定陶县| 云龙县| 略阳县| 永靖县| 平陆县| 平定县| 荆州市| 上犹县| 赣榆县| 报价| 荣成市| 蓝田县| 南涧| 江永县| 曲麻莱县| 同德县| 盱眙县| 屏南县| 鹿邑县| 中宁县| 彰化县| 教育| 运城市| 巍山| 兴仁县| 拉萨市| 普兰县| 尼木县| 东莞市| 怀安县| 怀远县| 金华市| 南漳县| 湘乡市| 聂拉木县|