: 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 { 私人Listandroid使用:viewpage实现轮播效果