热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安卓图像自动循环播放:广告展示优化方案

在电商平台的首页,自动轮播的广告是常见的营销手段。本文将详细介绍如何开发一个高效的广告轮播功能,实现广告内容的自动切换,提升用户体验和广告效果。我们将探讨关键技术点和优化策略,确保广告展示流畅且吸引用户注意力。
在各大电商网站的首页,都能看到自动轮播的广告,每隔数秒,就会自动切换其中的广告;今天我们就来制作一个广告轮播功能;需完成效果:

1,广告内容自动轮播

2,左右切换展示广告

3,手动选择指定广告

主要功能点:动态面板

一 准备工作

1,新建4个页面,作为点击广告后的跳转链接页面;(只作为一个跳转的地址)2,准备4张图片,用作首页的广告轮播素材

ae5e77843326dc9c8335f7917b451314.png

二 自动轮播

需实现效果:在网页的固定位置,每隔固定时间,自动切换当前位置显示的图片;操作步骤:1,在index页面中拉入一个“动态面板”原件,命名为“ad”;对“ad”新增3个面板状态,并将4个面板状态依次命名为“ad1”“ad2”“ad3”“ad4”;

f4f236f73059b46d4fd5498850cb3535.png

da5416e7af3d6da01a45a9a2ab2384d8.png

2,剪切一张我们事先准备好的图片,双击动态面板“ad”的状态1“ad1”,打开“ad1”的页面;复制图片;我们会发现,复制的图片与我们的动态面板大小不匹配,导致在动态面板中,只能显示一部分的图片;我们只需要选中动态面板“ad”,在属性中勾选“自动调整为内容尺寸”就可以解决这个问题;

0c85d576cbadeba97665ec3e87c9ccba.png

79a9062ba0120fdf243be0cedcf2cfbd.png 

3,重复第二步动作,我们将其他三个面板状态(ad2,ad3,ad4)依次放入事先准备好的图片;4,设置自动轮换,点击页面空白处(或按Esc键),以显示页面属性;双击属性中的“页面载入时”,打开页面载入时的交互设置界面;

ef4ce5e5a441192f4ac8969038023360.png

5,选择“设置面板状态”,在右侧选中动态面板“ad”;选择状态中选择“next”,以实现自动切换下一个面板状态;勾选“向后循环”,可以实现循环动作;勾选“循环间隔”,并将轮播时间修改为“3000ms”。即每隔2秒,会自动切换为后一个广告;

3f1e17fd8c016cbc17646ee0a8864d00.png

d4a5c10830b776cf7bbd56915d715b45.png

eb3500f8e515aad4adcb224d1f9e498f.png

三 手动切换左右状态

需实现效果:鼠标移入广告图片区域时,停止自动轮播,停在当前的广告图片上;同时在左右两侧显示按钮,点击左侧按钮,可以手动切换上一个广告图片,点击右侧按钮,可以手动切换下一个广告图片;鼠标移出广告区域,恢复自动轮播效果;操作步骤:1,在动态面板“ad”上,放置两个图片,分别命名为“left”“right”,用以控制广告切换的操作;

20d9f8e89aeae24fbcbff22268fa63c5.png

2,设置图片“left”“right”默认为“隐藏状态;

d075a593671d09aa1bf5ded6a32319cb.png

3,需要实现,点击“left”图片时,广告切换为上一个广告:选中“left”,双击添加事件“鼠标单击时”;

ba57da3ab122d4526caf2bca5c1a12bd.png 

4,添加“设置面板状态”,选择“ad”,设置状态为“previous”,勾选“向前循环”;点击确认,完成;

6509adb2b049ba3cfe73207912dfe561.png

5,类似的操作在“right”上再作一遍,状态设置为“next”,并勾选“向后循环”;

cb2abf65a1f56052059f9794f716dde3.png 

6,要实现鼠标移入广告区域时,暂停自动轮播,同时将隐藏的两个控制按钮“left”“right”显示出来;选中动态面板“ad”,选择事件“鼠标移入时”(默认的交互事件中没有,需要点击“更多事件”

c5d480edcd3c97ea9fa32bc31fd97104.png

f441260b27a92f029dd109a77512c578.png

7,添加“设置面板状态”,选择“ad”,将状态设置为“停止循环”

ea4335624371b64063b0d32dd3007a04.png

8,添加“显示”,选择“left”“right”,设置为“显示”

fb479e7da7455eeab038b25dac3287df.png

9,要实现鼠标移出广告区域时,恢复自动轮播,同时隐藏的两个控制按钮“left”“right”;高能预警,此处有坑,按常规做法,我们会按下面步骤操作:选中动态面板“ad”,选择事件“鼠标移出时”(默认的交互事件中没有,需要点击“更多事件”添加“设置面板状态”,选中“ad”,重新设置自动轮播的效果,即将状态设为“next”,勾选“向后循环”,勾选循环间隔,时间设为“3000ms”;添加“隐藏”,选中“left”“right”,勾选“隐藏”;

24aa4433663ccacead669856f6e65753.png

1d0f8d702f8e02dda6864e4b8ee82240.png

看似效果已经实现,而实际预览的时候,却发现鼠标移入的时候,两个小图片正常显示了,广告也不自动切换了,可是当我们点击“left”或“right”的时候,广告页却没按设想的一样切换为新的广告图片;10,细心的朋友可能发现了,当我们点上“left”或“right”的时候,小图标居然是看不见的;没错,其实根本原因正是出在了这边;当我们移入鼠标时,“left”显示,可是当你想要去点击“left”的时候,势必会将鼠标移入“left”,由于“left”在动态面板“ad”的上方,覆盖了“ad”,移上“left”的时候,就是移出“ad”的时候,即触发了之前的“移出鼠标时”的交互,将“left”变为了隐藏;然后程序进入了死循环;要解决这个问题,我们只需要在“鼠标移出时”的交互中增加一个小小的条件即可;如上所说,既然移上“left”或者“right”或陷入死循环,那么我们在执行“鼠标移出时”的操作时,排除掉这个情况就可以了;对“鼠标移出时”的交互添加条件,对指针位置进行判断,当指针同时满足“未接触”“left”和“未接触”“right”时,执行移出交互,即可实现我们的目的;

5ca987d255ba6a9a34252400fd4b0f86.png

c86ec169e5206ee9f45b1a3b57add3d3.png

2b306a7c08770d93f47e1e6896080852.png

ca36ff1f371cdafdc4bf89a175854511.png

四 手动切换任意状态

需实现效果:鼠标移入广告图片区域时,停止自动轮播,停在当前的广告图片上;在下方显示控制按钮,点击对应图标,可以直接切换显示对应的广告图片;鼠标移出广告区域,恢复自动轮播效果操作步骤:1,放置一个图标,作为广告1的控制按钮,命名为ad1;

bb9be7dc7294928ff5cfaf08f780703e.png 

2,设置“ad1”的“选中”状态,单击“选中”,然后选择“填充颜色”,这里我们就选择蓝色;这样我们的“ad1”就有了2个状态,灰色的非选中状态,蓝色的选中状态;后面我们会将其与广告页的显示图片进行对应,当广告显示广告1的时候,我们的图片“ad1”显示蓝色,如果不是广告1,则显示灰色;点击确认;

74082cfa187243ec5f896b27e34c21e7.png

11ae6bf7afdd75b5fb57eca4e06ceb1f.png  

3,给图片ad1设置交互,当我们点击“ad1”的时候,需要广告也对应显示第一个图片;双击“ad1”属性的“鼠标单击时”,添加“设置面板状态”,将“ad”的状态选择为“ad1”,点击确认;

e50d87b2ddbeba6106e51a4f40ef73ec.png 

4,复制3个图片“ad1”,分别命名为“ad2”“ad3”“ad4”,重复上述的2/3两步,分别对应各自的动态面板的状态;

167c2979cb51e51cb77746512ceeb30e.png

5,需要将动态面板的4个状态和4个图片空间的选中的状态分别对应;当显示第一个广告的时候,图片“ad1”为选中状态,其他为未选中;当显示第二个广告的时候,图片“ad2”为选中状态,其他为未选中;选中动态面板“ad”,添加交换“改变状态时”

bda28b60ab5aa926178662cde34b36f7.png

6,“添加条件”当动态面板状态为“ad1”时,点确认

d235b45f48d9106eda66f513263f829a.png

7,选择“选中”,设置“ad1”状态为“true”

ecb6cfb39416699f76bba5d9ba51ad0b.png

8,选择“取消选中”,设置“ad2”“ad3”“ad4”状态为“false”;点击确认,我们就完成了第一个广告的对应交互;

ba43fa88212e8a72f35902ce14592e4d.png

9,重复步骤5-8,分别设置第二/第三/第四个广告的页面交互;

0c0e4658d2876373313f3e47b0ddfca2.png

10,此时我们点击预览,广告页下方的图片状态已各自对应,不过还有一个小瑕疵,这个效果都是在动态面板状态改变的时候才起作用;我们刚进页面的时候,没有触发动态面板改变状态的交互,4个小图片都是非选中状态;这边我们只需要将图片“ad1”的默认状态设为“选中”即可;最后将4个小图片放置在广告页下方,完整版的广告轮播功能就大功告成了。

5cb640375fc53919d3a182649be3e7e9.png

原型下载链接:https://pan.baidu.com/s/1JtejTgScRbXTWY_36nVfOQ

提取码:xz0v




推荐阅读
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文探讨了如何利用NFC技术,将存储在Android手机中的患者信息安全高效地传输到台式计算机。重点介绍了适用于医院场景的NFC USB读卡器(如ACR122U)的应用方法。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • 斯特林数与幂
    参考资料:https:www.luogu.com.cnblogchtholly-willemsolution-p5408https:blog.csdn.netguizhiyuart ... [详细]
  • CSS高级技巧:动态高亮当前页面导航
    本文介绍了如何使用CSS实现网站导航栏中当前页面的高亮显示,提升用户体验。通过为每个页面的body元素添加特定ID,并结合导航项的类名,可以轻松实现这一功能。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
author-avatar
王聪明2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有