转载表明出处:http://blog.csdn.net/zcr317121966/article/details/52060481
作为一个android的初学者,我决定将自己所学所积累的知识点,实现功能记录再我的博客中。一是为了自己能反复查看提高能力,二也是为了能找到志同道合的博友学习和讨论。本人资历尚浅,但希望能一直坚持发博文,记录自己的成长之路。
今天记录的是android中的ViewPager控件,实现的效果是很多软件上都存在的广告滚动条,图片和文字数据是抓接口从网上获取。
首先分析以下思路。主要有以下几个部分,1.首先是页面的布局,ViewPager应为最外层,里面嵌套的是图片,文字和小圆点。一般为图片在最上方占一大部分,文字再最左下角一小部分,而小圆点再最右下并排排列,一般图片有多少张,那么小圆点就有多少个,而且图片切换到对应地方,小圆点会有不同标识。会嵌套用到的RelativeLayout,LinearLayout,其中会用到的控件有textview和RadioGroup。2.网络下载部分,本文是通过为的地址解析JSON数据得到的结果,分析,之后得到图片下载资源,和文字信息,再对图片进行下载。主要通过异步任务AsyncTask下载,网络请求数据HTTPURLConnection,接口回调传输数据。3.ViewPager逻辑部分,设置适配器和监听器,PagerAdapter,OnPageChangeListener。要实现文字,图片,小圆点的配套,和自己切换图片(滚动),和能认为的拖拽和滑动广告图片效果。
大致分析过后得出以下几个类:1:MyMainActivity类,主函数类,主要处理的是初始化,设置属性,监听器,适配器等,是主要的运行逻辑处理类。2:AsyncTaskOfJson类,继承自 AsyncTask类,异步任务类。用于网址中的数据下载解析操作得到文本数据和图片资源数据。3:DataBean类,数据存储类,解析的JSON数据对应的属性存储到类中的对象中。4:AsyncTaskOfBtimap类,继承自 AsyncTask,也是用于将得到的图片资源通过异步任务下载图片。5:HTTPURLUtils类,下载工具类,封装方法提供网络数据的下载。6:MyInterface接口,用于实现接口后对网络上下载数据的回调传输数据。
分析完成我们直接来看代码,运行是用anroidstudio,基本都有注解详细说明:
1.首先布局文件:activity_my_main.xml
<?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" tools:context="com.bane.main.MyMainActivity"> <!-- 首先广告滚动栏的最上方是一个可以滚动滑动的任意图片 然后下面内嵌再底部位置的左边是文字说明,右边是小原点显示出是第几张图片 --> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="240dp"> </android.support.v4.view.ViewPager > <RelativeLayout android:id="@+id/relativelayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/viewpager" > <LinearLayout android:id="@+id/linear_buttom" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="30dp" android:background="#440000FF" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="match_parent" android:textSize="25sp" android:layout_alignParentLeft="true" android:textColor="#FFFFFF" android:text="" /> <RadioGroup android:id="@+id/radiogroup" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" /> </RelativeLayout> </LinearLayout> </RelativeLayout> </RelativeLayout>
2:AsyncTaskOfJson类
Android_ViewPager实现滚动广告
最新推荐文章于 2021-05-26 11:30:33 发布