简介
banner可以作为网站页面的横幅广告,也可以作为游行活动时用的旗帜,还可以是报纸杂志上的大标题。Banner 主要体现中心意旨,形象鲜明表达最主要的情感思想或宣传中心。而android上面的的banner能实现循环播放多个广告图片和手动滑动循环等功能。因为原生ViewPager并不支持循环翻页, 要实现循环还得需要自己去动手。Banner框架可以进行不同样式、不同动画设置, 以及完善的api方法能满足大部分软件首页轮播图效果的需求。
使用
在androidstudio上面使用banner是非常方便的
1.首先需要添加依赖和添加网络权限
(1)---添加依赖 compile 'com.youth.banner:banner:1.4.9'
(2)---添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2.开始使用
(1)在一个布局中添加一个Banner控件
这是自定义banner的一些属性:
这是我们测试写的一些简单的布局
<LinearLayout 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=".TextBannerActivity">
<com.youth.banner.Banner
android:id="@+id/my_banner"
android:layout_width="match_parent"
android:layout_height="200dp"
/>
</LinearLayout>
(2).在activity里面开始使用
//设置指示器(下面是一些不同的类型,可以根据我们的喜好进行设置)
myBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);//这里我们选的是带圆盘的
//设置标题
List<String> titles = new ArrayList<>();
titles.add("图片1");
titles.add("图片2");
titles.add("图片3");
titles.add("图片4");
titles.add("图片5");
myBanner.setBannerTitleList(titles);//参数是一个字符串类型的集合,上面我们简单的创造了一个
//设置banner的图片转换得动画(下面是一些不同的动画效果,效果具体大家可以测试一下)
myBanner.setBannerAnimation(Transformer.FlipVertical);//这里我们随便选择了一个
//设置banner的图片路径集合
其中参数imgs是图片的url地址的集合,还有一个参数是一个监听的接口
public List<String> imgs = new ArrayList<>();
imgs.add("http://192.168.1.108:8080/atguigu/img/1438946011155.jpg");
imgs.add("http://192.168.1.108:8080/atguigu/img/1444883979497.jpg");
imgs.add("http://192.168.1.108:8080/atguigu/img/1446607168578.jpg");
imgs.add("http://192.168.1.108:8080/atguigu/img/1451967280855.jpg");
imgs.add("http://192.168.1.108:8080/atguigu/img/1469173640233.jpg");
//联网加载图片我们选择的是Glide当然也可以用Picasso(原理都是一样的Picasso.with(context).load(path).into(imageView);)
myBanner.setImages(imgs, new OnLoadImageListener() {
@Override
//这个view就是我们要加载图片的布局
public void OnLoadImage(ImageView view, Object url) {
if(view != null && url != null){
Toast.makeText(TextBannerActivity.this,"view="+view.toString()+"url="+url.toString(),Toast.LENGTH_LONG).show();
//开始加载图片
Glide.with(TextBannerActivity.this).load(url).into(view);
}
}
})
//最后设置banner的点击监听
myBanner.setOnBannerClickListener(new OnBannerClickListener() {
@Override
public void OnBannerClick(int position) {
//注意这个position是从1开始的
Log.e("tag",imgs.get(position-1));
}
});
//这样就可以看效果啦
在学习android过程中,记录下点滴,滴水穿石。。