底部動做條(BottomSheet)是一個從屏幕底部邊緣向上滑出的一個面板,給用戶呈現一組功能選項。底部動做條封裝了一組簡單、清晰、無需額外說明的操做。底部動做條(以下圖)能夠是列表樣式的,也能夠是宮格樣式的。ide
根據Material Design設計規範,若是隻有兩個或更少的操做,能夠考慮菜單或者對話框來實現。可是當有三個或三個以上的操做須要提供給用戶選擇時,底部動做條就有了用武之地,能夠做爲對話框和菜單的替代產品應用到實際的開發實踐中。ui
筆者經過繼承Dialog類實現了一個簡單版本、列表樣式的底部動做條,下面介紹具體的使用方法。this
安裝方法 spa
在Android Studio中,以導入Module的方式添加BottomSheet依賴(jCenter Remote Library Dependency等待更新...)。設計
基本用法 3d
1 BottomSheet bottomSheet = new BottomSheet(this); 2 bottomSheet.setTitle("Bottom Sheet"); 3 bottomSheet.addItem(R.mipmap.quiz_bottom_download, "下載", new View.OnClickListener() { 4 @Override 5 public void onClick(View v) { 6 makeToast("下載!"); 7 bottomSheet.dismiss(); 8 } 9 }); 10 bottomSheet.addItem(R.mipmap.quiz_bottom_favorite, "喜歡", new View.OnClickListener() { 11 @Override 12 public void onClick(View v) { 13 makeToast("喜歡!"); 14 bottomSheet.dismiss(); 15 } 16 }); 17 bottomSheet.addItem(R.mipmap.quiz_bottom_answer, "答案", new View.OnClickListener() { 18 @Override 19 public void onClick(View v) { 20 makeToast("答案!"); 21 bottomSheet.dismiss(); 22 } 23 }); 24 bottomSheet.addItem(R.mipmap.quiz_bottom_share, "分享", new View.OnClickListener() { 25 @Override 26 public void onClick(View v) { 27 makeToast("分享!"); 28 bottomSheet.dismiss(); 29 } 30 }); 31 bottomSheet.show();
設計思想code
關鍵是對setContentView()方法的重寫。setContentView()實際承擔着底部動做條的繪製,事件處理的任務,讀者能夠對該方法定製實現本身底部動做條。blog
效果截圖繼承
下載連接:連接: http://pan.baidu.com/s/1gduaTOZ 密碼: jnmu。 事件