循环添加视频view  图片view

for (int i = 0 ;i

if (beansarraylist.get(i).gettype()==1){

videoplayer = new nicevideoplayer(this);

controller = new txvideoplayercontroller(this);

videoplayer.setcontroller(controller);

videoplayer.setup(beansarraylist.get(i).getvideo(),null);

videoplayer.continuefromlastposition(false);

videoplayer.setonstart(new nicevideoplayer.onstart() {

@override

public void start() {

bannerview.startloop(false);

}

});

controller.setonrestartpause(new txvideoplayercontroller.onrestartpause() {

@override

public void onstart(boolean start) {

bannerview.startloop(start);

}

@override

public void onrestart() {

}

});

glideloading.setimage(this,beansarraylist.get(i).getstrurl(),controller.imageview());

viewlist.add(videoplayer);

}else {

imageview img = new imageview(this);

img.setlayoutparams(new viewgroup.layoutparams(viewgroup.layoutparams.match_parent, viewgroup.layoutparams.match_parent));

img.setscaletype(imageview.scaletype.fit_xy);

img.setadjustviewbounds(true);

final int finali = i;

img.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view v) {

arraylist imgurl = new arraylist<>();

int position = 0;

for (int j = 0 ;j

if (beansarraylist.get(j).getstrurl().equals(beansarraylist.get(finali).getstrurl())){

position = j ;

}

imgurl.add(beansarraylist.get(j).getstrurl());

}

previewphone.previewphone(activityproductdetails.this,imgurl,position,v);

}

});

glideloading.setimage(this,beansarraylist.get(i).getstrurl(),img);

viewlist.add(img);

}

}

bannerview.startloop(true);

bannerview.setonpageselected(new bannerview.onpageselected() {

@override

public void onnext() {

if (videoplayer != null){

if (videoplayer.isplaying()){

bannerview.startloop(true);

videoplayer.pause();

}

}

}

@override

public void ontouchevent(motionevent ev) {

switch (ev.getaction()) {

case motionevent.action_down:

bannerview.startloop(false);

break;

case motionevent.action_move:

bannerview.startloop(false);

break;

case motionevent.action_up:

case motionevent.action_cancel:

if (videoplayer.isplaying()){

bannerview.startloop(false);

}else {

bannerview.startloop(true);

}

break;

}

}

});

xml应用

android:id="@+id/banner"

android:layout_width="match_parent"

android:layout_height="200dp">

轮播适配器

public class banneradapter extends pageradapter {

private list viewlist;

private int size;

private final int cachecount = 3;

public banneradapter(list viewlist) {

this.viewlist = viewlist;

size = viewlist.size();

}

@override

public void destroyitem(viewgroup container, int position, object object) {

if (viewlist.size() > cachecount){

container.removeview(viewlist.get(position%size));

}

}

@override

public object instantiateitem(viewgroup container, int position) {

viewgroup parent = (viewgroup) viewlist.get(position%size).getparent();

if (parent != null) {

parent.removeview(viewlist.get(position%size));

}

container.addview(viewlist.get(position%size));

return viewlist.get(position%size);

}

@override

public int getcount() {

return integer.max_value;

}

@override

public boolean isviewfromobject(view view, object object) {

return view == object;

}

以上所述是小编给大家介绍的android 视频图片混合轮播实现详解整合,希望对大家有所帮助

Android 视频图片 轮播,详解android 视频图片混合轮播实现相关推荐

  1. android 数据文件存储,实例详解Android文件存储数据方式

    总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.下面通过本文给大家介绍android文件存储数据方式. 1.文件存储数据使用了java中的io操作来进行文件的保存和读取,只不 ...

  2. android sd卡名称,科普详解Android系统SD卡各类文件夹名称

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 15.moji:墨迹天气的缓存目录. 16.MusicFolders:poweramp产生的缓存文件夹. 17.openfeint:openfeint的缓 ...

  3. android sdk安装过程,图文详解Android 3.0 SDK安装教程

    [51CTO编者按]我们已经为喜欢Android 3.0的朋友提供Android 3.0 SDK下载,本文我们将向大家介绍Android 3.0 SDK安装教程,本教程与 玩模拟器需要比较好的电脑配置 ...

  4. android教程 - android ui 介绍,多图详解 “Android UI”设计官方教程

    我们曾经给大家一个<MeeGo移动终端设备开发UI设计基础教程>,同时很多朋友都在寻找Android UI开发的教程,我们从Android的官方开发者博客找了一份幻灯片,介绍了一些Andr ...

  5. android用sax解析xml,详解android使用SAX解析XML文件

    解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了. 优点:整个 ...

  6. android js接口调用方法,详解Android JS相互调用

    最近在研究Android.JS相互调用,之前没怎么接触过,只知道loadUrl()就可以加载一个网页了,研究过之后发现Android可以调JS,JS也可以调Android原生控件,很开心啊.下面小编就 ...

  7. android中样式文件步骤,详解Android主题开发的样式教程

    Android中的样式和css样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view 控件属性的集合.主题是一个包含一种或者多种格式化属性的集合,你可以将其为一个单位用在应用中 ...

  8. android notification的使用方法,详解Android中Notification的使用方法

    在消息通知的时候,我们经常用到两个控件Notification和Toast.特别是重要的和需要长时间显示的信息,用Notification最合适不过了.他可以在顶部显示一个图标以标示有了新的通知,当我 ...

  9. Android Log和Slog类详解--Android 12

    Log类的路径在/frameworks/base/core/java/android/util/Log.java Slog类的路径在/frameworks/base/core/java/android ...

最新文章

  1. 安装ATi显卡驱动后增加的鼠标右键菜单的清理
  2. 打造新型智慧城市标杆 金华跻身中国城市信息化50强
  3. [置顶] 我整理的一些常用网址
  4. 高并发软件设计的几种方式
  5. 开发你的第一个LYNC应用-第二部分
  6. div+css 和 xhtml+css是一回事么?
  7. 多线程——线程的生命周期
  8. vba动态二维数组_VBA实战技巧05: 动态调整数组以存储所需数据
  9. 前端学习(1168):构造函数方法(转换为真正数组)
  10. oracle监听程序无法分配,Oracle监听器服务不能启动的解决方法
  11. 查看代码 index.html,Javascript查看大图功能代码实现
  12. PHP设计模式——装饰器模式
  13. 虚拟内存和swap分区的关系
  14. 通过KGDB进行双机内核调试
  15. 妙用PRN文件,实现文档换机打印
  16. 好用的局域网共享工具
  17. linux系统看实际内存剩余,linux怎么看内存剩余
  18. 从0到1构建一个电商平台 – 开发篇(转)
  19. Nginx-浅析(转)
  20. linux系统fasta程序,Linux生信练习2--fastq/fasta

热门文章

  1. python常用模块之requests
  2. iOS8上本地通知接收不到的问题
  3. 学习:java原理—反射机制
  4. SuperMap IS.NET自定义Action添加Mark
  5. TextBox只输入数字和event.keyCode的键码值
  6. Android AutoCompleteTextView自动提示文本框
  7. java基础—Runtime类使用
  8. css内容渐入效果实现
  9. SBT, activator, play之間的糾葛
  10. 41.进程池--Pool