本次迭代任务完成了开屏广告的接入,在此将本次工作中学到的知识以及遇到的问题做个小结,以便后期回顾。首先splash页面即app启动的第一个activity,我们暂且命名为SplashActivity,其对应的布局文件为splash_activity。
我们放的开屏广告通常是一张图片。布局文件如下:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/fl_whole"android:layout_width="match_parent"android:layout_height="match_parent" ><ImageViewandroid:id="@+id/ad"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="top" /></RelativeLayout>由于每个应用启动时用户看见的第一眼是当前activity的主题颜色或主题中设置的图片,设置方法如下
<pre name="code" class="html">
<activityandroid:name="com.erliang.splash.ad.SplashActivity"android:label="@string/app_name"android:theme="@style/gioneeLightThemeNoTitleAndFullScreen" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity><pre name="code" class="html">android:theme="@style/gioneeLightThemeNoTitleAndFullScreen" >其中style如下:
<pre name="code" class="html">    <style name="gioneeLightThemeNoTitleAndFullScreen" parent="android:Theme.Light.NoTitleBar.Fullscreen"><item name="android:windowBackground">@drawable/default_splesh</item>//设置背景图片<item name="android:windowTranslucentStatus">true</item></style>设置背景后主题颜色为该图片,布局文件的背景也是该文件。我们拿到一张广告图片后,只需要盖在背景图片上即可,我们请求的时候,只要两种尺寸的图片,一种是全屏幕的,一种是漏出
logo的图片,activity代码如下:<pre name="code" class="html"><pre name="code" class="java">public class SplashActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.splash_activity);Log.i("jingcl", "500ms后出现广告-----1");mHandler.postDelayed(new Runnable() {@Overridepublic void run() {ImageView adIv = (ImageView) findViewById(R.id.ad);adIv.setBackground(getResources().getDrawable(R.drawable.ad_640800));runAnimator(adIv);}}, 500);}private void runAnimator(ImageView adIv) {Log.i("jingcl", "展示广告动画1s-----2");ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(adIv, "alpha",0, 1).setDuration(1000);objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());objectAnimator.addListener(new AnimatorListenerAdapter() {@Overridepublic void onAnimationEnd(Animator animation) {enterMainPage();}});objectAnimator.start();}private void enterMainPage() {Log.i("jingcl", "广告展示3s完毕进入主页-----3");mHandler.postDelayed(new Runnable() {@Overridepublic void run() {Intent intent = new Intent();intent.setClass(getApplicationContext(), MainActivity.class);startActivity(intent);finish();}}, 3000);}private Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {}};
}

关于app#启动页面#splash页面#开屏广告#的小结相关推荐

  1. 如何在我的应用启动界面实现「开屏广告」?

    什么是开屏广告 开屏广告是一种在应用启动时且在应用主界面显示之前需要被展示的广告.一般是5s展示时间,广告展示时间结束后自动进入应用,用户可以点击跳过按钮直接进入主界面. 开屏广告示例 开屏广告的优势 ...

  2. android多类型启动广告,如何在我的应用启动界面实现「开屏广告」?

    什么是开屏广告 开屏广告是一种在应用启动时且在应用主界面显示之前需要被展示的广告.一般是5s展示时间,广告展示时间结束后自动进入应用,用户可以点击跳过按钮直接进入主界面. 开屏广告示例 开屏广告的优势 ...

  3. Android开发——解析App启动页(Splash)黑/白闪屏现象

    前言 我在开发App的时候,出现App在启动会出现短暂的黑/白闪屏现象.这样现象对用户的体验感是会产生不好的影响,于是我就研究这个现象的起因和解决办法.不负有心人,我在翻了很多博客,踩完坑之后找到起因 ...

  4. 为什么国外的 App 很少会有开屏广告?

    2019独角兽企业重金招聘Python工程师标准>>> 前言:笔者在知乎看到这个问题,觉得这的确是一个值得关注和回答的现象,遂写了回答并整理成本文发布在此抛砖引玉,欢迎讨论. 正文: ...

  5. 为什么国外的 App 很少会有开屏广告? 1

    前言:笔者在知乎看到这个问题,觉得这的确是一个值得关注的现象,遂写了回答并整理成本文发布在此抛砖引玉,欢迎讨论. 正文: 古话说得好,先问是不是,再问为什么. 对于「国外的 App 很少有开屏广告」这 ...

  6. java开发app启动跳转到一个广告,Android实现点击通知栏后,先启动应用再打开目标Activity...

    情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击 ...

  7. android app 启动第一个页面

    android自动生成的工程,在AndroidManifest.xml会有下面代码. <activityandroid:name="com.test.MainActivity" ...

  8. 直播类app开发的开屏广告是怎样实现的

    直播类app开发时,技术人员需要注意一个功能,那就是开屏广告,接下来就分析一下直播类app开发是怎样实现开屏广告的. 一) 开屏广告 效果如下 支持网络资源缓存策略 支持本地和网络6种类型广告 本地i ...

  9. 微信小程序开屏广告实现

    微信小程序开屏广告即打开微信小程序后全屏展示的广告图片.用户可点击"跳过"按钮跳过广告,或者广告展示一段时间过后进入微信小程序.并可以显示广告的剩余时间.效果图如下(背景图是网图, ...

最新文章

  1. hadoop job 未跑满资源_Hadoop多用户资源管理–Fair Scheduler介绍与配置
  2. wxWidgets:从互联网下载文件
  3. 展望2018,多媒体开发新趋势
  4. linux help命令编写,Linux shell命令帮助格式详解
  5. NYOJ_37_回文字符串
  6. hdu5279 YJC plays Minecraft 【分治NTT】
  7. pythonchar中的拟合方法_Python 字符串中常见的一些方法
  8. 2017交大计算机专业分数线,2017上海交大录取分数线历年录取分(2)
  9. oracle注意事项
  10. Android 开发环境搭建之——ADT-Bundle for Windows
  11. 使用mysql 函数 IFNULL 解决某些字段为null
  12. Chrome调试器中的“警告:显示了临时标题”
  13. 重新整理一下Handler原理(温故而知新,可以为师矣)
  14. 有没有能排列待办事项无广告的Windows版便签软件推荐
  15. OSChina 周四乱弹 —— 作为黑洲非人都不能玩游戏了
  16. 懒癌必备-dplyr和data.table让你的数据分析事半功倍
  17. 5月10日云栖精选夜读:阿里专家直击前端盛会JSConf2017 Day2:见证Moment.js精彩分享...
  18. Windows Vista 发布 | 历史上的今天
  19. EAUML日拱一卒-微信小程序实战:位置闹铃 (16)-单元测试是个技术活
  20. 财路网每日原创推送:2019年区块链在企业应用中扮演的角色

热门文章

  1. 敏捷项目管理实战之进度管理
  2. 3D点云系列(一)点云介绍
  3. 汽车ECU的内部构成与功能模块
  4. 面试:如何侦测应用的帧率FPS
  5. CodeForces 1278 B.A and B(数学)
  6. 2021年全球CT和PET扫描仪收入大约7229.4百万美元,预计2028年达到7883百万美元
  7. apiclod 上传图片_APICloud分享图片到微信
  8. 转载:程序员如何优雅的挣零花钱?
  9. 如何安装scratch
  10. otrs软件_开源ITIL管理工具OTRS简单介绍