android使用:viewpage实现轮播效果

  

: viewpage:一个可以实现视图左右滑动切换的控件。
  

  

<强>:viewpage的基本使用:
  

  

: viewpage的视图需要通过PagerAdapter来实现显示。
  

  

<强> PagerAdapter的主要方法:

  

,●getCount视图的数量

  

,●instantiateItem添加视图

  

,●destroyItem销毁视图

  

,●isViewFromObject是否由对象创建视图
  

  

<强>:viewpage的常用方法:

  

setAdapter设置适配器

  

addOnPageChangeListener监听页面切换的状态

  

setCurrentItem设置当前页面的索引
  

  

实现广告轮播

  

技术点分析:

  

1,网络连接

  

2, JSON解析

  

3: viewpage的初始化

  

4,图片的异步加载

  

5,圆点指示器的实现

  

使用选择器+形状实现圆点图片

  

动态创建ImageView添加到集合中,同时添加到布局中

  

在:viewpage切换事件中,切换圆点状态

  

6,自动切换效果

  

使用处理程序的发布方法,定时执行代码
  资源文件:
  mydot。xml//创建圆点资源,放在可拉的文件下
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;选择xmlns: android=" http://schemas.android.com/apk/res/android "比;   & lt;项目android: state_enabled=" true "比;   & lt;形状android:形状=巴衷病北?   & lt;大小android:宽度=" 5 dp”android:身高=" 5 dp/比;   & lt;固体android:颜色=" # fff“/比;   & lt;/shape>   & lt;/item>   & lt;项目android: state_enabled=" false "比;   & lt;形状android:形状=巴衷病北?   & lt;大小android:宽度=" 5 dp”android:身高=" 5 dp/比;   & lt;固体android:颜色=" # 8 ee5ee "/比;   & lt;/shape>   & lt;/item>      & lt;/selector>   之前      

布局文件:
  

  

activity_main。xml
  

        & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   工具:上下文="。祝辞MainActivity”;      & lt;列表视图   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android: id=癅 + id/lv_list”/比;   & lt;/RelativeLayout>   之前      

activity_banner。xml
  

        & lt; FrameLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   工具:上下文="。祝辞MainActivity”;      & lt; android.support.v4.view.ViewPager   android: id=癅 + id/vp_image”   android: layout_width=" wrap_content "   android: layout_height=" 150 dp”   android: layout_gravity="中心"/比;   LinearLayout & lt;   android: layout_width=" match_parent "   android: layout_height=" 40 dp "   android: id=癅 + id/布局”   android: layout_gravity="底"   android:重力="中心"   面向android:="水平"   祝辞& lt;/LinearLayout>   & lt;/FrameLayout>   之前      

java代码
  

  

ImageLoader。java//该代码是通过URL获取图片资源
  

        包cn.edu.huse.banner_re.util;   进口android.graphics.Bitmap;   进口android.graphics.BitmapFactory;   进口android.os.AsyncTask;   进口java.io.IOException;   进口java.io.InputStream;   进口java.net.HttpURLConnection;   进口java.net.MalformedURLException;   进口java.net.URL;/* *   *图片加载的工具类   * @author x光   *   */公开课ImageLoader {/* *   *图片加载完成的回调接口   *添加URL参数,用于做图片错位判断   */公共接口>   包cn.edu.huse.banner_re.util;      进口android.os.AsyncTask;      进口java.io.IOException;   进口java.io.InputStream;   进口java.net.HttpURLConnection;   进口java.net.MalformedURLException;   进口java.net.URL;/* *   *读取服务器JSON的工具类   * @author x光   *   */公开课JSONLoader {      公共接口>   包cn.edu.huse.banner_re.adapter;      进口并不知道;      进口android.support.v4.view.PagerAdapter;   进口android.view.View;   进口android.view.ViewGroup;   进口android.widget.ImageView;/* *   *图片轮播的适配器   * @author联想   *   */公开课MyViewPagerAdapter延伸PagerAdapter {      私人List

android使用:viewpage实现轮播效果