dialog底部弹出自定义view并且伴随动画弹出和消失

原图


 点击后 


 代码

    @Override
    public void onClick(View view) {


        switch (view.getId()) {
            //加号逻辑
            case R.id.iv_more:

                AlertDialog.Builder builder =  new android.app.AlertDialog.Builder(this,R.style.remind_dialog);
                LayoutInflater inflater = LayoutInflater.from(this);
                View mInflate = inflater.inflate(R.layout.activity_plus, null);

                iv_dialog_cacle = (ImageView) mInflate.findViewById(R.id.iv_cancel);
                iv_dialog_cacle.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        dialog.dismiss();
                    }
                });
                dialog = builder.create();

                dialog.show();

                Window window = dialog.getWindow();
                window.setGravity(Gravity.BOTTOM);
                window.setWindowAnimations(R.style.showdialog);
                window.setContentView(mInflate);
                WindowManager windowManager = getWindowManager();
                Display display = windowManager.getDefaultDisplay();
                WindowManager.LayoutParams lp= dialog.getWindow().getAttributes();
                lp.width = (int)(display.getWidth()); //设置宽度
                dialog.getWindow().setAttributes(lp);


                break;

        }
    }

remind_dialog 

    <style name="remind_dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</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">@null</item>
        <item name="android:windowFullscreen">true</item>
    </style>



让遮罩层 透明
<item name="android:backgroundDimAmount">0</item>


showdialog

<style name="showdialog" >

         <item name="@android:windowEnterAnimation">@anim/dialog_enter</item>
        <item name="@android:windowExitAnimation">@anim/dialog_exit</item>
    </style>

dialog_enter 

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="200"
        android:toYDelta="0%"
        android:fillAfter="true"
        android:fromYDelta="100%p" />

</set>


dialog_exit

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="200"
        android:fromYDelta="0%"
        android:fillAfter="true"
        android:toYDelta="100%p" />

</set>

偷笑偷笑偷笑






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值