广告的显示和关闭

app或游戏的主页显示广告页面,实现方式:

public class MainActivity extends Activity implements View.OnClickListener{

    private Button btnShowAd;
    private RelativeLayout layoutAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView(){
        btnShowAd = (Button)findViewById(R.id.btnShowAd);
        btnShowAd.setOnClickListener(this);
    }

    private RelativeLayout createLayout(){
        final ImageView imgAd = new ImageView(this);
        imgAd.setImageResource(R.mipmap.pic22);
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int width = (int)(metrics.widthPixels*0.7f);
        int height = (int)(metrics.heightPixels*0.7f);
        final RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(width, height);
        params1.addRule(RelativeLayout.CENTER_IN_PARENT);
        imgAd.setLayoutParams(params1);

        imgAd.requestLayout();

        final ImageView imgClose = new ImageView(this);
        imgClose.setImageResource(R.mipmap.close);
        int width2 = (int)(width*0.1f);
        int height2 = (int)(height*0.1f);
        RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(width2, height2);
        params2.leftMargin = metrics.widthPixels/2 + width/2 - width2 - 10;
        params2.topMargin = metrics.heightPixels/2 - height/2 + (2*height2)/3;
        imgClose.setLayoutParams(params2);
        imgClose.setClickable(true);
        imgClose.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                ViewParent parent = imgClose.getParent();
                if(parent != null){
                    layoutAd.setVisibility(View.GONE);
                    for(int i=0; i<layoutAd.getChildCount(); ++i){
                        View view = layoutAd.getChildAt(i);
                        view.setVisibility(View.GONE);
                    }
                }
                Toast.makeText(MainActivity.this, "close", Toast.LENGTH_SHORT).show();
            }
        });

        RelativeLayout layout = new RelativeLayout(this);
//        layout.setBackgroundColor(0xffff0000);
        layout.addView(imgAd);
        layout.addView(imgClose);
        addContentView(layout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

        return layout;
    }

    private void showAd(){
        if(layoutAd == null){
            layoutAd = createLayout();
        }

        layoutAd.setVisibility(View.VISIBLE);
        for(int i=0; i<layoutAd.getChildCount(); ++i){
            View view = layoutAd.getChildAt(i);
            view.setVisibility(View.VISIBLE);
        }

        ScaleAnimation animation = new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        animation.setDuration(600);
        animation.setFillAfter(true);
        layoutAd.startAnimation(animation);
    }

    @Override
    public void onClick(View v) {
        if(v == btnShowAd){
            showAd();
        }
    }
时间: 2024-10-12 02:56:54

广告的显示和关闭的相关文章

IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)

IOS 键盘的显示与关闭 在每一个IOS应用中,几乎不可避免的要进行文本输入操作,例如要求用户填写登陆注册信息,进行话题的评论回复,等等.用到的文本输入组件有UITextField,UITextView,对于这两个组件的相关属性和方法想必大家都很熟悉,但貌似对于键盘的显示或隐藏过程貌似常常不是很清楚,其实本人也是一知半解,所以趁此做简单的总结,基本上以下描述出自于官方的文档,并没有什么更改. 1.开启键盘面板 当用户触击某一个view时,系统会自动指定该view为第一响应对象(first res

MvvmCross for WPF 支持子窗体显示、关闭、传参

最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.com/MvvmCross/MvvmCross 支持的平台: Silverlight for WP7, WP8 Mono for Android (or Xamarin.Android) MonoTouch for iOS (or Xamarin.iOS) the WinRT XAML framewo

MUI——页面的创建、显示、关闭

一.打开子页面 mui.init({ subpages:[{ url:your-subpage-url,//子页面HTML地址,支持本地地址和网络地址 id:your-subpage-id,//子页面标志 styles:{ top:subpage-top-position,//子页面顶部位置 bottom:subpage-bottom-position,//子页面底部位置 width:subpage-width,//子页面宽度,默认为100% height:subpage-height,//子页

IntelliJ IDEA中如何显示和关闭----工具栏,目录栏,(转)

工具栏:就是上面有个好多的快捷按钮的那个栏,比如撤销,上传,下载设置,扳手按钮,等等. 目录栏,就是刚刚装的时候,这个会显示,但是不知道怎么关闭,但是这个又没什么用. 如图: 就是对应的几个按钮,自己试试就知道什么效果了.

Winform开发之窗体显示、关闭与资源释放

Winform的窗体涉及到一般窗体(单文档窗体).MDI窗体.窗体之间的关系等,那么如果调用打开新窗体.如何关闭窗体.窗体资源的释放等都关系到软件运行的效率,本文一一介绍 1.窗体的显示 从一个窗体打开另一个窗体,基本会用到两种方法,即Show()和ShowDialog(),前者是一般的窗体,后者是模态窗体. 两种调用是由些许的不同 (1)在调用Form.Show方法后,Show方法后面的代码会立即执行 (2)在调用Form.ShowDialog方法后,写在其后面的程序会在模态窗口关闭后再执行.

MAC 终端 显示隐藏文件 关闭显示隐藏文件

1.显示隐藏文件夹显示:defaults write com.apple.finder AppleShowAllFiles -bool true (1)复制“defaults write com.apple.finder AppleShowAllFiles -bool true” 到终端,回车 (2)按Command+Option+Escape打开强制退出,重启Finder (3)打开Finder,这时隐藏文件就都显示出来了,要注意隐藏文件一般不要删除 2.隐藏已经显示的隐藏文件 隐藏:defa

控制虚拟机开启,显示,关闭的脚本

在bash下输入: vim 123 进入编辑模式,输入如下图所示 然后按: :wq 退出保存后 输入 sh 123 start/view/poweroff server/desktop 执行相关管理虚拟机的操作

Android高手之路之popUpWindow的显示与关闭

popWIndow的效果就类似一个固定的小窗口.直接看效果吧 效果: 主要代码: package com.example.popupwindowdemo; import android.os.Bundle; import android.app.Activity; import android.app.ActionBar.LayoutParams; import android.util.Log; import android.view.Gravity; import android.view.

iAd.frameWork 设置app底部广告启动显示不同步问题

0:添加iad.frameWork框架.然后添加头文件. 1.在storybord中设置iad的自动布局,只设置左边与底部即可..... 2.将底部constraints与底部的间距为-66 然后拖线到控制器 3.遵守协议成为代理...如下方法. - (void)bannerViewDidLoadAd:(ADBannerView *)banner { self.bottom.constant = 0; [UIView animateWithDuration:0.5 animations:^{ [