Android開發實戰之底部Dialog彈出效果

來源:互聯網
上載者:User

標籤:

  在Android開發中,有很多情況下我們需要使用到對話方塊,遺憾的是,安卓內建的對話方塊樣式不能滿足我們實際的需要,所以往往需要我們自訂對話方塊,具體做法:寫一個對話方塊繼承自Dialog實現他的一個構造方法(取決於你的用法),在OnCreate()中進行處理。當然更多情況下,你是不需要自己去寫的,會抄代碼一樣也是一種本事,這裡我介紹一種底部彈出的對話方塊,希望對你的學習和工作有所協助,下面是:

下面介紹具體做法:

匯入依賴庫:

dependencies {    compile ‘com.github.rey5137:material:1.2.2‘}

這是GitHup上一個基於Material Design的依賴庫,對於這個庫進行了最佳化。

下面是實現代碼:

bottomInterPasswordDialog = new BottomSheetDialog(HomeActivity.this);
bottomInterPasswordDialog
.contentView(viewInterPassword)
.heightParam(windowHight/3)
.inDuration(500)
.outDuration(500)
.inInterpolator(new BounceInterpolator())
.outInterpolator(new AnticipateInterpolator())
.cancelable(true)
.show();

一行代碼,輕鬆實現,contentView加入DIalog的View,inDuration進入螢幕時間,inInterpolator進入螢幕動畫,cancelable,是否點擊可以退出對話方塊,heightParam顯示DIalog的高度。其中 Interpolator

在安卓中有幾個定義:

AccelerateDecelerateInterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速

  AccelerateInterpolator  在動畫開始的地方速率改變比較慢,然後開始加速

  AnticipateInterpolator 開始的時候向後然後向前甩

  AnticipateOvershootInterpolator 開始的時候向後然後向前甩一定值後返回最後的值

  BounceInterpolator   動畫結束的時候彈起

  CycleInterpolator 動畫迴圈播放特定的次數,速率改變沿著正弦曲線

  DecelerateInterpolator 在動畫開始的地方快然後慢

  LinearInterpolator   以常量速率改變

  OvershootInterpolator    向前甩一定值後再回到原來位置

當然,如果這些滿足不了你的需求,你還可以自己定義。具體很簡單,我這裡就不多說,希望這篇部落格對你有所協助,如果有疑問歡迎下方留言。

Android開發實戰之底部Dialog彈出效果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.