Viewpager小圆点ImageLoader加载
来源:互联网 发布:自动谱曲软件下载 编辑:程序博客网 时间:2024/05/18 11:50
布局:
<?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:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="200dp" ></android.support.v4.view.ViewPager> <LinearLayout android:id="@+id/linear_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/view_pager" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:orientation="horizontal" > </LinearLayout></RelativeLayout>
首页:
MainActivity:
package a13_viewpager.a13_viewpager;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.widget.ImageView;import android.widget.LinearLayout;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private List<String> list; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { if (msg.what==0){ int currentItem = viewPager.getCurrentItem(); viewPager.setCurrentItem(currentItem+1); handler.sendEmptyMessageDelayed(0,3000); } } }; private List<ImageView> images; private LinearLayout linearLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = (ViewPager) findViewById(R.id.view_pager); linearLayout = (LinearLayout) findViewById(R.id.linear_layout); 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"); initnoc(); ViewpagerAdapter adapter=new ViewpagerAdapter(MainActivity.this,list,handler); viewPager.setAdapter(adapter); viewPager.setCurrentItem(list.size()*10000); handler.sendEmptyMessageDelayed(0,3000); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for (int i=0;i<images.size();i++){ if (i==position%images.size()){ images.get(i).setImageResource(R.drawable.doc_selcect); }else{ images.get(i).setImageResource(R.drawable.doc_selcect_no); } } } @Override public void onPageScrollStateChanged(int state) { } }); } private void initnoc() { images = new ArrayList<>(); linearLayout.removeAllViews(); for (int i=0;i<list.size();i++){ ImageView imageView=new ImageView(MainActivity.this); if (i==0){ imageView.setImageResource(R.drawable.doc_selcect); }else{ imageView.setImageResource(R.drawable.doc_selcect_no); } images.add(imageView); LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); params.setMargins(5,0,5,0); linearLayout.addView(imageView,params); } }}
package a13_viewpager.a13_viewpager;import android.content.Context;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.Toast;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.List;/** * Created by Lenovo on 2017/9/12. */public class ViewpagerAdapter extends PagerAdapter{ Context context; List<String> list; Handler handler; public ViewpagerAdapter(Context context, List<String> list, Handler handler) { this.context=context; this.list=list; this.handler=handler; ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(context)); } @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) { final ImageView imageView=new ImageView(context); ImageLoader.getInstance().displayImage(list.get(position%list.size()),imageView); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { boolean isTiaoZhuan=true; switch (event.getAction()){ case MotionEvent.ACTION_DOWN: handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_MOVE: isTiaoZhuan=false; handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_CANCEL: isTiaoZhuan=false; handler.sendEmptyMessageDelayed(0,3000); break; case MotionEvent.ACTION_UP: handler.sendEmptyMessageDelayed(0,3000); if (isTiaoZhuan){ Toast.makeText(context,"跳转页面",Toast.LENGTH_SHORT).show(); /* Intent intent=new Intent(); context.startActivity(this,SecondActivity.class);*/ } handler.sendEmptyMessageDelayed(0,3000); break; } return true; } }); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); }}
阅读全文
0 0
- Viewpager小圆点ImageLoader加载
- viewpager 动态加载 和小圆点
- ViewPager加小圆点
- ViewPager+小圆点
- viewpager加小圆点
- viewpager+小圆点
- viewpager+小圆点
- viewpager画小圆点
- viewPager小圆点
- ViewPager小圆点
- ViewPager+小圆点
- ViewPager小圆点滑动
- ViewPager+小圆点联动
- viewpager+ 小圆点 练习
- Viewpager与小圆点
- 小圆点与viewpager
- viewpager 小圆点
- ViewPager加载网络图片+自动轮播+小圆点指示
- Android 商品详情页
- 图的概念 存储结构和遍历
- TensorFlow入门(3)-单层神经网络实现方法
- 前台技术栈
- Flowable读取文本文件
- Viewpager小圆点ImageLoader加载
- Spring-Security练习
- 从头实现一个深度学习对话系统--tensorflow Seq-to-Seq API介绍和源码分析
- SpringMVC接受JSON参数详解及常见错误总结
- Ueditor+ajax视频保存到本地和视频url在另一个页面播放
- java学习初探十八之线程的调度与控制_让位yield_合并jion
- JieCaoVideoPlayer,视频播放,极简单
- Scrapy ImagesPipeline下载图片
- JQuery选择器之位置选择器