Banner
android 轮播图控件
Install / Use
/learn @kevin-mob/BannerREADME
BannerViewPager
轮播图控件
预览

1.用法
Android Studio使用依赖:
compile 'cn.kevin:bannerview:1.0.8'
或者下载工程后使用
compile project(':banner')
2.功能
- 实现广告轮播,通过设置参数,可以实现当前item、前一个、后一个同时显示的效果。
3.属性
<table> <tdead> <tr> <th align="center">自定义属性</th> <th align="center">含义</th> </tr> </tdead> <tbody> <tr> <td align="center">marginLeft</td> <td align="center">中心item距离整体控件左侧距离</td> </tr> <tr> <td align="center">marginRight</td> <td align="center">中心item距离整体控件右侧距离</td> </tr> <tr> <td align="center">item_margin</td> <td align="center">item与item的间距</td> </tr> <tr> <td align="center">around_visible</td> <td align="center">是否露出上一个和下一个item, 默认为true</td> </tr> <tr> <td align="center">point_drawable</td> <td align="center">页索引的drawle,默认为圆点, 为selector, 通过state_selected区分选中状态</td> </tr> <tr> <td align="center">point_gravity</td> <td align="center">页索引的显示位置,默认为bottom_center</td> </tr> </tbody> </table>4.代码演示 也可参考demo中的代码
1.在布局文件中加入BannerViewPager
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/viewPagerContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<kevinmob.banner.BannerViewPager
android:id="@+id/bvp"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginTop="30dp"
android:layerType="software"
app:item_margin="20dp"
app:marginLeft="40dp"
app:marginRight="40dp"
app:point_gravity="bottom_center" />
</FrameLayout>
2.在java中设置数据
bannerViewPager = (BannerViewPager) findViewById(R.id.bvp);
BannerAdapter adapter = new BannerAdapter();
//item需要实现IBannerItem接口
List<IBannerItem> list = new ArrayList<>();
adapter.setData(context, list);
adapter.setImageLoader(new GlideImageLoader());
bannerViewPager.setBannerAdapter(adapter);
bannerViewPager.setBannerItemClick(new BannerViewPager.IBannerItemClick() {
@Override
public void onClick(IBannerItem data) {
Toast.makeText(MainActivity.this, " data.ImageUrl() " + data.ImageUrl(), Toast.LENGTH_SHORT).show();
}
});
//这里举例为Glide,实际使用时需配合自己项目中的图片加载框架完成图片加载
class GlideImageLoader implements ImageLoader {
@Override
public void onDisplayImage(Context context, ImageView imageView, String url) {
Glide.with(context).load(url).into(imageView);
}
}
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
