viewpage图片轮播
package com.exmple.viewpage2;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import com.examle.netUtil.NetUtill;
import com.examle.vo.Super;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.lidroid.xutils.BitmapUtils;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private ViewPager viewpage;
private List<Super> li;
private List<View> dots;
int count = 0;
int odl = 0;
Handler ha = new Handler() {
public void handleMessage(android.os.Message msg) {
viewpage.setCurrentItem(count);
dots.get(count).setBackgroundResource(R.drawable.founce);
dots.get(odl).setBackgroundResource(R.drawable.normal);
odl=count;
};
};
private LinearLayout line;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpage = (ViewPager) findViewById(R.id.viewpage);
line = (LinearLayout) findViewById(R.id.line);
new Asy().execute(NetUtill.JSON_URL1);
}
public class Asy extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
String url = params[0];
String str = NetUtill.JsonData(url);
return str;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
BitmapUtils bit = new BitmapUtils(MainActivity.this);
Gson gs = new Gson();
List<ImageView> lis = new ArrayList<ImageView>();
li = gs.fromJson(result, new TypeToken<List<Super>>() {
}.getType());
for (int i = 0; i < li.size(); i++) {
ImageView image = new ImageView(MainActivity.this);
image.setScaleType(ScaleType.FIT_XY);
bit.display(image, "http://172.17.29.120/localuser/ljy/jc/"
+ li.get(i).getSrc());
lis.add(image);
}
Apater ap = new Apater(lis, MainActivity.this);
viewpage.setAdapter(ap);
getDont();
dots.get(0).setBackgroundResource(R.drawable.founce);
Timer time = new Timer();
time.schedule(new TimerTask() {
@Override
public void run() {
count++;
if (count == li.size()) {
count = 0;
}
ha.sendEmptyMessage(1);
}
}, 2000, 2000);
}
public void getDont() {
dots = new ArrayList<View>();
for (int i = 0; i < li.size(); i++) {
View view = View
.inflate(MainActivity.this, R.layout.view, null);
View dot = view.findViewById(R.id.view1);
dots.add(dot);
line.addView(view);
}
}
}
}
//////////////////////////////Apater
package com.exmple.viewpage2;
import java.util.List;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class Apater extends PagerAdapter {
List<ImageView> lis;
Context co;
public Apater(List<ImageView> lis, Context co) {
super();
this.lis = lis;
this.co = co;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return lis.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(lis.get(position));
return lis.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
// super.destroyItem(container, position, object);
}
}
viewpage图片轮播的更多相关文章
- 使用viewPage实现图片轮播
概述 图片循环播放这种效果,在许多的场合都能看到,只要一打开各大主流网站的首页几乎都有一个这样的组件,它可以很显目的提供给用户最近最火热的信息.因为它应用得如此之广泛,今天,我们就来写一下这个组件. ...
- 自定义View(二)ViewPage广告轮播
自定义View的第二个学习案例,使用ViewPage实现广告轮播,通过组合现有的View实现效果如下: 有关ViewPage使用可以学习谷歌官方API,和训练案例: 1.使用ViewPage实现屏幕滑 ...
- Android 使用ViewPager 做的半吊子的图片轮播
Android 使用ViewPager 做的半吊子的图片轮播 效果图 虽然不咋样,但是最起码的功能是实现了,下面我们来一步步的实现它. 界面 下面我们来分析一下界面的构成 整体的布局: 因为我们要做出 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- 纯javaScript、jQuery实现个性化图片轮播
纯javaScript实现个性化图片轮播 轮播原理说明<如上图所示>: 1. 画布部分(可视区域)属性说明:overflow:hidden使得超出画布部分隐藏或说不可见.position: ...
- jQuery个性化图片轮播效果
jQuery个性化图片轮播效果 购物产品展示:图片轮播器<效果如下所示> 思路说明: 每隔一段时间,实现图片的自动切换及选项卡选中效果,鼠标划入图片动画停止,划出或离开动画开始 两个区域: ...
- 原生JS实现"旋转木马"效果的图片轮播插件
一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...
- 基于面向对象的图片轮播(js原生代码)
无论你想走多远,你都需要不断地走下去.前端最精华的便是原生的js,这也是我们前端工程师的技术分层的重要指标,也提现这你的代码能力,开发的水平.废话不多说,进入今天的主要分享————基于面向对象思想的图 ...
- jquery 图片轮播demo实现
转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 图片轮播demo,弄清楚过程其实是一个很简单的东西,看网上都没有什么实质性的代码,就自己把过程捋了一遍实现了. 这次因为随手写的,所以没有做 ...
随机推荐
- Excl 的一些用法--如何给很多列赋同一个值
1.用鼠标选定要负责的列(多列) 2.在处填写值 3.Ctrl+Enter
- iOS单例模式
单例模式用于当一个类只能有一个实例的时候, 通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据.用单例模式加以 ...
- Bash中的shopt选项
Bash中的shopt选项 http://blog.chinaunix.net/uid-20587169-id-1919110.html shopt命令用于显示和设置shell中的行为选项,通过这些选 ...
- 小白教你玩转php的闭包
php5.3有一个非常赞的新特性,那就是支持匿名函数(闭包).匿名函数可用于动态创建函数,并保存到一个变量中.举个栗子: $func = function(){ exit('Hello world!! ...
- 关于IOS框架的解释
- sql语句查询出数据重复,取唯一数据
select distinct mr.id,ifnull(mr.pid,0) as pid,mr.name from sys_role_res srr left join main_res mr on ...
- 自动备份sqlexpress 数据库脚本
Create PROCEDURE [dbo].[usp_BackupDatabase] @databaseName sysname,@backupPath nvarchar(255), @backup ...
- Vue.js实例练习
最近学习Vue.js感觉跟不上节奏了,Vue.js用起来很方便. 主要实现功能,能添加书的内容和删除.(用的Bootstrap的样式)demo链接 标题用了自定义组件,代码如下: components ...
- Leetcode: Insert Delete GetRandom O(1)
Design a data structure that supports all following operations in average O(1) time. insert(val): In ...
- 源码安装zabbix
源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...