android中广告轮播图总结
功能点:无限轮播、指示点跟随、点击响应。实现思路:
1、指示点跟随,指示点通过代码动态添加,数量由图片数量决定。
在viewpager的页面改变监听中,设置点的状态选择器enable,当前页时,setEnable(true),非当前页设置为false。由于图片是从网络获取,数量不定,所以此处不能使用switch写死,需要设置变量记录当前和前一个。代码如下:
llAddPoint为添加指示点的线性布局
prePosition为前一个位置,初始化时设为0,newPosition为当前位置
int newPosition =position%imageViews.size();//使用最大值来进行无限轮播,所以需要取模。
llAddPoint.getChildAt(newPosition).setEnabled(true);
llAddPoint.getChildAt(prePosition).setEnabled(false);
prePosition=newPosition;
2、在activity的ondestroy方法中关闭轮播图
3、点击响应在viewpager的适配器中instantiateItem方法里设置,因为图片为网络获取,所以不能以设置id的方式设置点击事件代码:
@Override
public Object instantiateItem(ViewGroup container, final int position) {
ImageView iv = imageViews.get(position % imageViews.size());
container.addView(iv);
// 在这个方法里面设置图片的点击事件
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理跳转逻辑
Toast.makeText(carouselActivity.this,"被点了"+position%imageViews.size(),Toast.LENGTH_SHORT).show();
}
});
return iv;
}
4、指示点使用shape画出 下面是大小5dp ,实心的灰色圆点。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<solid android:color="@android:color/darker_gray"/>
<size android:height="5dp" android:width="5dp"/>
</shape>
android中广告轮播图总结的更多相关文章
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- angularjs中使用轮播图指令swiper
我们在angualrjs移动开发中遇到轮播图的功能 安装 swiper npm install --save swiper 或者 bower install --save swiper 引入文件 ...
- js轮播图和bootstrap中的轮播图
js中的轮播图案例: <!DOCTYPE html><html lang="en"> <head> <meta charset=" ...
- Android自定义控件之轮播图控件
背景 最近要做一个轮播图的效果,网上看了几篇文章,基本上都能找到实现,效果还挺不错,但是在写的时候感觉每次都要单独去重新在Activity里写一堆代码.于是自己封装了一下.本篇轮播图实现原理原文出处: ...
- Android之无限轮播图源代码
Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...
- 利用axure软件实现app中的轮播图功能
1.首先在axure软件中插入一张手机模型图片并调整为合适大小 2.在需要展示轮播图片位置拖入[动态面板]并且调整大小 拖入后双击动态面板,填入面板名称,并且添加面板状态(此处轮播图为三张,所以有三个 ...
- JavaScripts广告轮播图以及定时弹出和定时隐藏广告
轮播图: 函数绑定在body标签内 采用3张图,1.jpg 2.jpg 3.jpg 利用定时任务执行设置图片属性 src 利用for循环可以完成3秒一次 一替换. 定时弹出广告: 由于bod ...
- jquery 广告轮播图
轮播图 /*轮播图基本功能: * 1图片切换 * 1.1图片在中间显示 * 1.2图片淡入淡出 * 2左右各有一个按钮 * 2.1点击左按钮,图片切换上一张 * 2.2点击右按钮,图片切换下一张 * ...
- android 使用图片轮播图---banner 使用
转自:https://github.com/youth5201314/banner 使用步骤 Step 1.依赖banner Gradle dependencies{ compile 'com.you ...
随机推荐
- CString + UINT Error:有多个运算符"+="与这些操作数匹配
在OnChar中,参数UINT nChar 有一个CString str,现在执行 str += nChar报错:Error:有多个运算符"+="与这些操作数匹配 解决办法:把UI ...
- ios添加方法快捷方式
- SWIFT 闭包的简单使用
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...
- mantis 安装问题
1. 邮件 修改 config_defaults_inc.php $g_administrator_email = 'mantis@pooy.net'; $g_webmaster_email = 'm ...
- MVC ViewModel
ViewModel这个概念不只是在在MVC模式中有,你会在很多关于MVC.MVP.MVVM的文章中见到这个说法,并且这个概念在任何技术中都有可能提到,比如ASP.NET, Silverlight, W ...
- nc:a test cmd for TCP HTTP
docker 上需要nc 测试环境--internet上搜集了一些资料 ---------------------------------------------------------------- ...
- Feature Scaling
定义:Feature scaling is a method used to standardize the range of independent variables or features of ...
- spawn-fcgi
spawn-fcgi与PHP-FPM 前面介绍过,FastCGI接口方式在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析,这些进程就是FastCGI进程管理器,或者称为FastCGI引擎. ...
- Swift游戏实战-跑酷熊猫 06 创建平台类以及平台工厂类
这节内容我们一起学习下随机长度的踩踏平台的原理是怎么样的. 要点: 平台类 我们的平台类继承于SKNode,这样就能被添加进其它节点进而显示在场景中. 它有一个方法来创建平台,这个方法接收一个包含SK ...
- 企业Openvpn环境部署
企业Openvpn环境部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任 ...