Android_ViewPager实现滚动广告

转载表明出处: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类
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值