android图片视频图片封装,详解android 视频图片混合轮播实现
循环添加视频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 视频图片混合轮播实现相关推荐
- android 数据文件存储,实例详解Android文件存储数据方式
总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.下面通过本文给大家介绍android文件存储数据方式. 1.文件存储数据使用了java中的io操作来进行文件的保存和读取,只不 ...
- IOS视频编辑功能详解下篇-视频裁剪、视频拼接、音视频的处理
转自:http://www.hudongdong.com/ios/550.html 前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUI ...
- html动态轮播效果怎么做,详解JavaScript实现动态的轮播图效果
利用javascript能实现常见的动态的网页轮播图效果,如下图1所示: 图1 实现该轮播图有以下几个要点: (1)在左右两侧各有一个箭头,分别指的是向左和向右切换,即点击相应的位置就会切换到该图片之 ...
- android sd卡名称,科普详解Android系统SD卡各类文件夹名称
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 15.moji:墨迹天气的缓存目录. 16.MusicFolders:poweramp产生的缓存文件夹. 17.openfeint:openfeint的缓 ...
- Android Log和Slog类详解--Android 12
Log类的路径在/frameworks/base/core/java/android/util/Log.java Slog类的路径在/frameworks/base/core/java/android ...
- android sdk安装过程,图文详解Android 3.0 SDK安装教程
[51CTO编者按]我们已经为喜欢Android 3.0的朋友提供Android 3.0 SDK下载,本文我们将向大家介绍Android 3.0 SDK安装教程,本教程与 玩模拟器需要比较好的电脑配置 ...
- android教程 - android ui 介绍,多图详解 “Android UI”设计官方教程
我们曾经给大家一个<MeeGo移动终端设备开发UI设计基础教程>,同时很多朋友都在寻找Android UI开发的教程,我们从Android的官方开发者博客找了一份幻灯片,介绍了一些Andr ...
- android用sax解析xml,详解android使用SAX解析XML文件
解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模型)解析:解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以根据DOM接口来操作这个树结构了. 优点:整个 ...
- android js接口调用方法,详解Android JS相互调用
最近在研究Android.JS相互调用,之前没怎么接触过,只知道loadUrl()就可以加载一个网页了,研究过之后发现Android可以调JS,JS也可以调Android原生控件,很开心啊.下面小编就 ...
- android中样式文件步骤,详解Android主题开发的样式教程
Android中的样式和css样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view 控件属性的集合.主题是一个包含一种或者多种格式化属性的集合,你可以将其为一个单位用在应用中 ...
最新文章
- 震精~python运算符还能这么玩~到底这么做到的?神级程序员解密!
- js之事件冒泡和事件捕获
- Oracle 数据库利用sql语句杀掉用户session进程,“ORA-01940: 无法删除当前连接的用户“问题解决办法
- h5中的结构元素header、nav、article、aside、section、footer详解
- EL之Bagging(DTR):利用Bagging对回归问题(实数值评分预测)建模(调2参)
- mac https本地跨域配置
- 如何找到字符串中的最长回文子串?
- windows批处理脚本导入注册表不弹出确认框
- 计算机操作系统第六章测试题及答案
- centos下压缩文件7z解压
- Java英语单词大全
- ESXI 6.7全面系统教程~win10显卡直通
- 自动驾驶(三十四)---------可行驶区域检测
- 解决viewer.js预览PDF文件 无法展示PDF水印的问题
- java后端研发经典面试题总结,为公司招兵买马
- 程序设计方法学-python
- 系统吞吐量、QPS、并发数、响应时间,以及提高吞吐量的思路
- 7-25朋友圈(C语言版)
- SAP中MD04中交货计划行例外信息07的分析
- insmod: error inserting ‘./module1.ko‘: -1 Unknown symbol in module