图片无线轮播
来源:互联网 发布:校园异术超能小说知乎 编辑:程序博客网 时间:2024/05/06 20:27
package com.bwie.wuxianlunbo;
加权限 和app包 还有加载图片的文件import android.os.Handler;import android.os.Message;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ViewPager vp; private LinearLayout lin_bottom; private List<String> list; private List<ImageView> images; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { int index = vp.getCurrentItem(); vp.setCurrentItem(index+1); setSelectedPoint((index+1)%list.size()); sendEmptyMessageDelayed(1,2000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = (ViewPager) findViewById(R.id.vp); lin_bottom = (LinearLayout) findViewById(R.id.lin_bottom); list = new ArrayList<>(); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151721118&di=649c9a43aed72fbc4d99ec1a031510c6&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F015c7d574b9f8f6ac72525aee98351.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151956771&di=0eb6f306991d24b67a13ceb336f80102&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F00613def3f1beb7a35ae136341be2b589bc46a2d.jpg_320x200.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151847685&di=c7a4b5d08ec43fa629bcb690039a7629&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_080625%2F20080625_2e91a10c444877e88827vri2ZKdGMvQo.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151825129&di=70bf74b87d8a15cb91a2d79f15ed0eaf&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_081016%2F20081016_fee215664d5740e56c13E2YB8giERFEX.jpg"); list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505746504&di=930c4d677a02328a142d6fa85ed14580&imgtype=jpg&er=1&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_090113%2F20090113_6ac58b42bea94f0b318e1B6BZb5lPZl5.jpg"); //设置适配器 vp.setAdapter(new ImageAdapter(this,list)); //设置小圆点 initDoc(); //设置当前要显示的页面 vp.setCurrentItem(list.size()*10); //发送一条消息自动播放 handler.sendEmptyMessageDelayed(1,2000); } //根据小圆点的下标设置选中的颜色 public void setSelectedPoint(int index){ for (int i=0;i<images.size();i++){ if(i==index){ images.get(i).setImageResource(R.drawable.point_selected); }else{ images.get(i).setImageResource(R.drawable.point_un_selected); } } } //初始化小圆点 private void initDoc(){ images = new ArrayList<>(); for(int i=0;i<list.size();i++){ ImageView imagepoint=new ImageView(this); //设置图片的缩放模式 imagepoint.setScaleType(ImageView.ScaleType.FIT_XY); //设置要显示的图片 if(i==0){ imagepoint.setImageResource(R.drawable.point_selected); }else { imagepoint.setImageResource(R.drawable.point_un_selected); } //设置图片的宽度和高度 LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20); params.setMargins(10,0,10,0); //添加到底部容器中 lin_bottom.addView(imagepoint,params); //添加到集合中 images.add(imagepoint); } }}
适配器
package com.bwie.wuxianlunbo;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.utils.ImageSizeUtils;import java.util.List;/** * Created by 老北城 on 2017/10/18. */public class ImageAdapter extends PagerAdapter { private Context context; private List<String> list; public ImageAdapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public int getCount() { //返回的页数是无限大 return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { //返回当前要显示的视图 ImageView imageView=new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); //加载网络上面的图片 ImageLoader.getInstance().displayImage(list.get(position%list.size()),imageView, ImageloaderUtil.getImageOptions()); //添加到容器里面 container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { //移除 container.removeView((View) object); }}
布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.wuxianlunbo.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="200dp" android:id="@+id/vp" ></android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/lin_bottom" android:layout_alignBottom="@+id/vp" android:gravity="center" android:layout_marginBottom="7dp" ></LinearLayout></RelativeLayout>
设置圆点在drawable里面
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#F53A08"></solid></shape><?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#FFFFFF"></solid></shape>
阅读全文
0 0
- 图片无线轮播
- 图片无线轮播
- Bannner图片无线轮播
- ionic 图片无线轮播
- ViewPager无线轮播(图片为n个网址)
- Android---------使用ViewPager无线轮播获得接口的图片(小圆点无线轮播图片)
- 无线轮播
- 无线轮播
- ViewPager 无线轮播
- ViewPager无线轮播
- 无线轮播
- 无线轮播
- ImagerView无线轮播
- 无线轮播
- Banner无线轮播
- ViewPager无线轮播
- GridView+无线轮播
- 无线轮播
- Configuration简单解释
- viewpager滑动最后一页再次拖拽刷新
- Newtonsoft.Json高级用法
- openwrt 安装 ser2net
- Redis数据库配置,设置认证密码,启动服务
- 图片无线轮播
- Angularjs自定义服务~使用Module的service方法
- 我是一个路由器
- 做seo软文编辑撰写经验
- 设计模式C++实现(1)——工厂模式
- 8.重生点的问题
- Linux多线程编程
- Unity基础1_脚本的认识
- NOIP 2013 花匠