webview自动循环播放
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bigou.tuhuo.MainActivity"> <android.support.v4.view.ViewPager
android:id="@+id/lunbotu"
android:layout_marginTop="-10dp"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="180dp" /> <LinearLayout
android:id="@+id/points"
android:layout_marginTop="130dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal"/>
</RelativeLayout>
package com.bigou.tuhuo; import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout; import com.bigou.tuhuo.adapters.LunbotuAdapter;
import com.squareup.picasso.Picasso; import java.util.ArrayList;
import java.util.List;
/**
* Created by cunli on 2017/2/11.
*/
public class MainActivity extends AppCompatActivity {
private Context context = MainActivity.this;
private ViewPager viewPager;//轮播图组件
private int currentPage = 0;//轮播图的当前页
private List<ImageView> images;//首页轮播的图片
private boolean isRunning = true;
ImageView image;
LinearLayout linearLayouPoints;//当前页指示器
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1:
int curpage = msg.arg1;
viewPager.setCurrentItem(curpage);
if (curpage > 0) {
((ImageView) linearLayouPoints.getChildAt(curpage - 1)).setImageResource(R.drawable.point_normal);
} else if (curpage == 0) {
((ImageView) linearLayouPoints.getChildAt(images.size() - 1)).setImageResource(R.drawable.point_normal);
}
((ImageView) linearLayouPoints.getChildAt(curpage)).setImageResource(R.drawable.point_check);
}
}
}; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initUI();
} //初始化界面布局
private void initUI() {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
viewPager = (ViewPager) findViewById(R.id.lunbotu); // 首页轮播的图片
images = new ArrayList<>();
for (int i = 0; i < 8; i++) {
String url = "http://192.168.191.1:8080/b" + (i + 1) + ".jpg";
image = new ImageView(context);
Picasso.with(context).load(url).into(image);
images.add(image);
}
linearLayouPoints = (LinearLayout) findViewById(R.id.points);
for (int i = 0; i < images.size(); i++) {
ImageView iv = (ImageView) LayoutInflater.from(context).inflate(R.layout.point, null);
iv.setImageResource(R.drawable.point_normal);
linearLayouPoints.addView(iv);
} viewPager.setAdapter(new LunbotuAdapter(context, images)); new Thread() {
int cp = 0; @Override
public void run() {
super.run();
while (isRunning) {
Message message = Message.obtain();
message.what = 1;
if (cp == images.size()) {
cp = 0;
}
message.arg1 = cp;
handler.sendMessage(message);
cp++;
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
}.start(); } @Override
protected void onDestroy() {
isRunning = false;
handler = null;
super.onDestroy();
Log.e("MainActivity", "-----------停止线程--------------");
}
}
package com.bigou.tuhuo.adapters; import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView; import java.util.List; /**
* Created by cunli on 2017/2/11.
*/
//给首页轮播图填充图片
public class LunbotuAdapter extends PagerAdapter {
private Context context;
private List<ImageView> images; public LunbotuAdapter(Context context, List<ImageView> images) {
this.context = context;
this.images = images;
} @Override
public int getCount() {
return images.size();
} @Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
} @Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView linearLayout = images.get(position);
container.addView(linearLayout);
return linearLayout;
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(images.get(position));
}
}
lunbotu.xml
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lunbo_image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
point.xml
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="5dp"/>
当前显示页圆点:point_check.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp" />
<solid android:color="@color/colorPointCheck" />
<size
android:width="10dp"
android:height="10dp" />
</shape>
默认圆点:point_normal.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp" />
<solid android:color="@color/colorPointNomal" />
<size
android:width="10dp"
android:height="10dp" />
</shape>
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="colorPointCheck">#FF4081</color>
<color name="colorPointNomal">#55fffaff</color>
</resources>
webview自动循环播放的更多相关文章
- JS可控制的图片自动循环播放查看效果
JS可控制的图片自动循环播放查看效果 <html> <head> <title>JS可控制的图片自动循环播放查看效果丨芯晴网页特效丨CsrCode.Cn</t ...
- video 自动循环播放
video 只加autoplay并不能自动播放,需要再加上muted <video controls="controls" autoplay loop muted> ...
- Android videoview循环播放视频
如何在一个activity里实现videoview对一个文件夹下的所有视频文件顺序循环播放,当切换界面时暂停, 切换回来继续原来的视频播放呢.所谓的 自动循环播放就是监听到视频播放结束之后继续重新播放 ...
- android 自定义无限循环播放的viewPager。轮播ViewPager。实现循环播放 广告,主题内容,活动,新闻内容时。
前言 实际项目需要一个 播放广告的控件,可能有多个广告图片.每个一段时间更换该图片.简单来说,就是一个 “循环播放图片”的控件. 间隔时间更换图片 一般来说,图片切换时需要有动画效果 需要支持手势,用 ...
- UIScrollView实现自动循环滚动广告
实现效果如下: 功能说明: 程序运行,图片自动循环播放,采用定时器实现; 当用户用手势触摸滑动时,定时器的自动播放取消,停止触摸时,自动无限播放; 代码如下 : 采用封装视图,外部进行调用即可: 1. ...
- C# WPF 用MediaElement控件实现视频循环播放
在WPF里用MediaElement控件,实现一个循环播放单一视频的程序,同时可以控制视频的播放.暂停.停止. 一种方式,使用MediaElement.MediaEnded事件,在视频播放结束后,自动 ...
- 微信小程序自定义音频组件,自定义滚动条,单曲循环,循环播放
小程序自定义音频组件,带滚动条 摘要:首先自定义音频组件,是因为产品有这样的需求,需要如下样式的 而微信小程序API给我们提供的就是这样的 而且产品需要小程序有后台播放功能,所以我们不考虑小程序的 a ...
- egret的tween动画循环播放
开发中发现了egret的自带tween动画中tweenGroup没有自动重新播放的代码,就使用了一种较笨的方法进行播放 比如:我在exml皮肤文件中写了一个动画组tweenGroup,并且在ts文件中 ...
- c#winform循环播放多个视频
环境: vs2015 +winform 首先,vs自带组件很方便,所以,用windowMediaplayer组件,如果做单曲循环播放的话,加个属性: axWindowsMediaPlayer1.set ...
随机推荐
- mac apt-get--> Homebrew
在最近采集linux进程网络指标的时候,为了对比采集结果,需要linux系统查看进程网络流量命令,最后查到nethogs 这个工具好用,但是在下载安装过程中碰到问题: 1:http://blog.cs ...
- 固态继电器SSR
s107. LH1521. CPC1035N http://e22a.com/h.bXsDYw?cv=AAOzhSfJ&sm=53e30b
- JMX简单样例
一:创建maven项目,在pom.xml里面增加例如以下依赖 <dependency> <groupId>com.sun.jdmk</groupId> <ar ...
- C语言中fgetc函数返回值为什么是int?
学习C语言的,文件操作,大都会用到它. 它的函数原型: 这个函数的返回值,是返回读取的一个字节.如果读到文件末尾返回EOF.EOF其实就是一个宏#define EOF (-1)表示-1.既然返回的是一 ...
- linux系统之free命令详解
total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 上面是free命令的执行结果,下面我来详细说说其中的含义: Me ...
- 大数据(6) - MapReduce简易介绍入门
一 MapReduce入门 MapReduce定义(简单来说就是hadoop的数据分析核心,理解其中的原理,则可以分析聚合一切需求) Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于 ...
- Servlet Cookie 处理
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- Eclipse 创建 Java 项目
打开新建 Java 项目向导 通过新建 Java 项目向导可以很容易的创建 Java 项目.打开向导的途径有: 通过点击 "File" 菜单然后选择 New > Java P ...
- python requests.exceptions.ConnectionError
今天遇到一个奇葩问题, 1.r.request.post(url) 2..print r. status_code 居然第一步就报错了,原因是url不正确,按道理应该可以走到第二步然后输入404的 i ...
- mongodb性能问题及原理分析
近期忙着把一个项目从MySQL迁移到MongoDB,在导入旧数据的过程中.遇到了些许波折,犯了不少错误,但同一时候也学到了不少知识,遂记录下来. 公司为这个项目专门配备了几台高性能务器,清一色的双路四 ...