Android开源Banner实现广告栏

本文介绍了如何利用Banner开源库在Android应用中创建广告栏,提供了一个简单易用的方法来展示广告。详细步骤包括下载 Banner 库,集成 Picasso 图片加载库,并给出了从服务器获取 JSON 数据动态展示广告的更新内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信大家都知道每个APP中都会有广告栏用来推广一些东西,部分APP是通过Viewpager实现,下面我是通过开源库Banner实现(绝对简单),Banner开源详情:https://github.com/youth5201314/banner   (多种方式可选择)

效果图:



Banner开源库下载:http://download.youkuaiyun.com/detail/qq_26650589/9875699

下载完成过后进行导入开源库,这里就不在这里展示出来啦,导入开源库遇到问题的请看博文:http://blog.youkuaiyun.com/qq_26650589/article/details/73526367

后面会使用到Picasso图片加载图,所以先把Picasso下载一下:http://download.youkuaiyun.com/detail/qq_26650589/9695886

将下载的Picasso复制到libs中,然后在build里的dependencies中引入:

  

compile files('libs/picasso-2.5.2.jar')//picasso-2.5.2.jar要和架包名称相同


1、activity布局:

<?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.wdl.banner.MainActivity">

    <com.youth.banner.Banner
        android:id="@+id/bannervp"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        />
</RelativeLayout>

2、MainActivity.java:

public class MainActivity extends AppCompatActivity {
    private List<String> img = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Banner banner= (Banner) findViewById(R.id.bannervp);
        //添加图片
        img.add("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1089399937,1684001946&fm=23&gp=0.jpg");
        img.add("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=787324823,4149955059&fm=23&gp=0.jpg");
        img.add("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3514483810,1208920576&fm=23&gp=0.jpg");
        img.add("https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1917280427,3920336884&fm=23&gp=0.jpg");

        banner.setImageLoader(new GlideImageLoader());
        banner.setIndicatorGravity(BannerConfig.RIGHT);//圆点的位置
        banner.setImages(img).//加载的图片
                setBannerStyle(BannerConfig.CIRCLE_INDICATOR).
                setDelayTime(2000).start();//图片循环滑动的时间2秒
        //设置点击事件
        banner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                switch (position){
                    case 0:
                        Toast.makeText(MainActivity.this,"1111",Toast.LENGTH_LONG).show();
                        break;
                    case 1:
                        Toast.makeText(MainActivity.this,"222",Toast.LENGTH_LONG).show();
                        break;
                    case 2:
                        Toast.makeText(MainActivity.this,"333",Toast.LENGTH_LONG).show();
                        break;
                    case 3:
                        Toast.makeText(MainActivity.this,"444",Toast.LENGTH_LONG).show();
                        break;
                }
            }
        });

    }
}


2、创建GlideImageLoader图片加载器

/**
 * Created by Administrator on 2017/5/23 0023.
 */
public class GlideImageLoader extends ImageLoader{
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Picasso.with(context).load((String) path).into(imageView);

    }
}
Picasso是我们一开始导入的架包



Banner 中提供了很多样式和动画效果: https://github.com/youth5201314/banner  


上面实现是通过固定的图片进行显示,下面是通过获取服务器json数据进行显示

2017.7.4更新:http://blog.youkuaiyun.com/qq_26650589/article/details/74295684











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值