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>

偷笑偷笑偷笑






安果移不动 Android Flutter Swift
精通Android,Swift,Flutter,Python,Php,按键精灵,易语言。曾为华为录制精品课程,拥有资质:按键精灵顶级证书;
产品秀:https://www.anguomob.com
B站:https://space.bilibili.com/482453235
已标记关键词 清除标记
相关推荐
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值