仿IOS ActionSheet控件从下弹出Dialog

原创 2016年08月29日 18:08:45

使Dialog从下弹出,无非就是控制控件弹出的初始位置和弹出后的位置,其步骤和重写Dialog类似,不过要重写Dialog的默认样式

   <style name="ActionSheet" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:windowAnimationStyle">@style/ActionSheetAnimation</item>
    </style>

添加弹出的动画效果

  <style name="ActionSheetAnimation" parent="@android:style/Animation.Dialog">
        <item name="android:windowEnterAnimation">@anim/push_up_in</item>
        <item name="android:windowExitAnimation">@anim/push_up_out</item>
    </style>

收起的动画效果

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromYDelta="100%p"
    android:toYDelta="0" />

弹出的动画效果

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromYDelta="0"
    android:toYDelta="100%p" />


然后加载自定义的布局,然后设置控件的初始位置,如下

	        
                final Dialog dialog = new Dialog(context, R.style.ActionSheet);
          View view = View.inflate(context, R.layout.actionsheet, null);
                Window w = dialog.getWindow();
		WindowManager.LayoutParams params = w.getAttributes();
		params.x = 0;
		params.y = 0;
		params.gravity = Gravity.BOTTOM;
		dialog.onWindowAttributesChanged(params);
		dialog.setCanceledOnTouchOutside(true);
               dialog.setContentView(view);
          dialog.show();

然后就可以在代码中使用了。

下载地址:

Android仿IOS底部弹出选择菜单ActionSheet

使用Dialog的实现方式,解决原ActionSheet使用Fragment实现而出现的部分手机取消按钮被遮盖的问题 java部分代码:import android.app.Dialog; impo...

仿IOS控件之ActionSheet样式

  • 2015年06月23日 11:31
  • 5.63MB
  • 下载

高仿iOS ActionSheet控件.rar

  • 2014年12月15日 18:33
  • 48B
  • 下载

UI--仿IOS控件之ActionSheet样式 and more..

在讲述了弹出式对话框和对其 源码分析之后,我们尝试来模仿一下ios中常见的弹出式按钮选项——ActionSheet。其实样式也比较简单,从底部弹出几个按钮,提供选项菜单,同时出现半透明背景蒙版。具体详...

自定义仿iOS的ActionSheet底部Dialog的样式

自定义仿IOS的ActionSheet底部Dialog的样式 1.设置dialog的style和dialog出现动画的style ...
  • as4399
  • as4399
  • 2017年08月07日 11:28
  • 164

自定义Dialog仿IOS底部弹出

  • 2016年12月30日 18:13
  • 19.77MB
  • 下载

自定义Dialog仿ios弹出底部菜单

  • 2016年10月08日 18:02
  • 3.88MB
  • 下载

iOS开发——ActionSheet的使用与弹出选择对话框

在我们的iOS开发中,常会见到如下界面的需求:。也就是点击按钮,出现选择提示框,我们今天使用两种方式(ActionSheet和AlertController)来实现该功能。【使用ActionSheet...

material 风格和 ios 风格,可传入 context 构建,可在任意界面弹出,包含了 loading,alert,单选和多选对话框,输入对话框,actionSheet 和 bottomShe

material 风格和 ios 风格,可传入 context 构建,可在任意界面弹出,包含了 loading,alert,单选和多选对话框,输入对话框,actionSheet 和 bottomShe...

IOS Actionsheet使用频率很高的控件

  • 2015年04月25日 16:48
  • 96KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:仿IOS ActionSheet控件从下弹出Dialog
举报原因:
原因补充:

(最多只允许输入30个字)