zoukankan      html  css  js  c++  java
  • Android开发实战之底部Dialog弹出效果

      在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    向前甩一定值后再回到原来位置

    当然,如果这些满足不了你的需求,你还可以自己定义。具体很简单,我这里就不多说,希望这篇博客对你有所帮助,如果有疑问欢迎下方留言。

  • 相关阅读:
    http
    VUE-1
    AJAX
    html常用标签
    CSS网页布局
    概念整理3
    SEO
    概念整理2
    var
    概念整理
  • 原文地址:https://www.cnblogs.com/lovelyYakir/p/5836013.html
Copyright © 2011-2022 走看看