美文网首页优秀案例
AD Dialog仿饿了么弹窗

AD Dialog仿饿了么弹窗

作者: 成都大菠萝 | 来源:发表于2017-10-24 17:37 被阅读383次
坚持学习每一天
爱生活,爱分享 
如果您喜欢我的文章,可以点击关注,喜欢

某些APP上广告弹窗效果是这样的,

anli.jpg

,自己看了一下结合以前的弹窗代码自己也写了个简单的DEMO。

先看最终效果

2.png

弹窗大致相同,里面的布局和点击事件各种回调可以自己写,各种特效也可以自己加,先来实现弹窗。

第一步:新建一个项目

Freedialog

第二步:设置弹窗属性
    <style name="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:windowBackground">@android:color/transparent</item>
        <!--允许模糊-->
        <item name="android:backgroundDimEnabled">true</item>
        <!--全屏幕-->
        <item name="android:windowFullscreen">true</item>
    </style>
第三步:新建弹窗布局,在Activity里面创建Dialog加载布局
   //此为DEMO可自己进行封装,需要各种回调的自己加接口
    private void show_Dialog()
    {
        //创建兼容包dialog
        final AppCompatDialog dialog=new AppCompatDialog(MainActivity.this,R.style.dialog);
        //设置布局
        dialog.setContentView(R.layout.dialog_full);
       //设置宽高
        int devicewidth=DimenUtil.getScreenWidth(MainActivity.this);
        int deviceheight=DimenUtil.getScreenHeight(MainActivity.this);
        Window dialogWindow=dialog.getWindow();
        WindowManager.LayoutParams lp=dialogWindow.getAttributes();
        if(dialog!=null){
            lp.width=devicewidth;
            lp.height=deviceheight;
            lp.gravity= Gravity.CENTER;
        }
        dialog.show();
        AppCompatButton button=dialogWindow.findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
    }
简单的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent">

    <android.support.v7.widget.AppCompatImageView
        android:scaleType="fitXY"
        android:layout_centerHorizontal="true"
        android:id="@+id/ad"
        android:src="@mipmap/ad"
        android:layout_width="200dp"
        android:layout_height="200dp" />
    <android.support.v7.widget.AppCompatButton
        android:layout_marginTop="24dp"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/ad"
        android:id="@+id/btn"
        android:text="关闭"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>

简单的AD弹窗就完成,可以按照具体业务自己扩展。
github传送门

相关文章

  • AD Dialog仿饿了么弹窗

    某些APP上广告弹窗效果是这样的, ,自己看了一下结合以前的弹窗代码自己也写了个简单的DEMO。 先看最终效果 弹...

  • Android 仿饿了么下拉Dialog

    今天点餐的时候看见一个好看的下拉Dialog,感觉后期会用的到,所以,今天打算撸一个 需要用到这个控件,但是这个控...

  • 仿饿了么

    1. 完成资源整合+项目(目录)结构设计+mock数据引用 完成的svg文件要生成字体icon文件可以上icomo...

  • 仿饿了么动画

    仿饿了么动画 最近项目Release完毕,闲暇之余给公司内部的小卖部app升下级(一个人撸完了design+cod...

  • vue(6) - 收藏集 - 掘金

    低仿饿了么 H5 - 纯前端 Vue 版 + 手把手教学 - 前端 - 掘金低仿饿了么H5-纯前端Vue版+手把手...

  • 仿饿了么小球动画

    饿了么下单时,点击➕会有一个小球跳跃进入购物车的动画,公司有个商城页面要求模仿这个效果,在网上搜了下.都需要借助框...

  • PopupWindow弹窗后无法获取焦点问题

    TV端开发时,使用Dialog弹窗,Dialog中有控件设置了可获取焦点(如Button setFocusable...

  • 所见所闻一

    1.遇见最好的dialog弹窗HTML 5.2 新增了 < dialog> 元素,这个元素将来一定会广泛使用,因为...

  • android精仿今日头条源码,饿了么点餐源码等

    Android精选源码 仿饿了么点餐页面 精仿今日头条 Android漂亮的音乐歌词控件,仿网易云音乐滑动效果 A...

  • 关于外设扫码枪或扫码盒子扫码监听处理

    在activity里面监听事件即可ps:如果页面弹窗了dialog,相关事件会被dialog拦截掉,需要在dial...

网友评论

    本文标题:AD Dialog仿饿了么弹窗

    本文链接:https://www.haomeiwen.com/subject/axjxpxtx.html