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 ...
随机推荐
- 10张思维导图带你学习【JavaScript】
思维导图小tips:思维导图又叫心智图.是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具.思维导图运用图文并重的技巧.把各级主题的关系用相互隶属与相关的层级图表现出来 ...
- 1.const
在C++中,const 的含义并没有改变,只是对细节进行了一些调整,以下是最主要的两点. 一.C++中的 const 更像编译阶段的 #define 先来看下面的两条语句: ; int n = m; ...
- nginx 模块简介
nginx模块一般分为5类:核心模块.标准http模块.可选http模块.邮件服务模块.第三方模块. 其中核心模块和标准http模块在快速编译之后就包含在了nginx中. 主要看一下核心模块.标准ht ...
- JS DOM -- 关于回车键盘事件执行事件
一.需求制作一个模拟对话框, 二. 1.需要发送后,输入框清空 2.按enter键可发送 三.代码部分 <!DOCTYPE HTML> <html> <head> ...
- 使用pycharm手动搭建python语言django开发环境(五) 使用日志模块打日志
1.在项目的settings.py中增加日志相关声明 #增加日志设置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'fil ...
- 运行cotroller后,查看vuser日志为空
查看C:\Users\***\AppData\Local\Temp\res\log下,文件夹空,处理如下 run-time-setting中,选中always send message
- string 的函数
string 有一个很好用到函数:substr(index). 去掉前index个字符.
- mock的时候验证代码行是否执行
verify(advertismentService).queryAdvitismentInfForApp(baseBOs, false);
- vbox安装ubuntu之后挂载共享文件夹无权限访问的问题以及改了主机名,导致命令行不能解析主机名的问题
1.挂载方法在挂载的时候虚拟机给出了命令 2. sudo adduser yourusername vboxsf (vboxsf是挂载的文件夹的用户组,在/media目录下用 ls -l 命令可以看到 ...
- javaweb+mysql+c3p0ajax实现三级联动
1.首先要导入jar文件: c3p0-0.9.5.1.jarcommons-beanutils-1.7.0.jarcommons-collections-3.2.jarcommons-dbutils- ...