Android开源Banner实现广告栏

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

效果图:

Android开源Banner实现广告栏_第1张图片


Banner开源库下载:http://download.csdn.net/detail/qq_26650589/9875699

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

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

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

  

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


1、activity布局:




    


2、MainActivity.java:

public class MainActivity extends AppCompatActivity {
    private List 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.csdn.net/qq_26650589/article/details/74295684











你可能感兴趣的:(Android)