注意:请从Git上下载flybanner,并放入某个package中!
步骤:
1. Drawable
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true"> <shape android:shape="oval"> <size android:width="6dp" android:height="6dp" /> <solid android:color="@android:color/white" /> </shape> </item> <item> <shape android:shape="oval"> <size android:width="6dp" android:height="6dp" /> <solid android:color="#ddd" /> </shape> </item> </selector>
2. Values
<!--轮播--> <declare-styleable name="FlyBanner"> <attr name="points_visibility" format="boolean"/> <attr name="points_position" format="enum"> <enum name="CENTER" value="0"/> <enum name="LEFT" value="1"/> <enum name="RIGHT" value="2"/> </attr> <attr name="points_container_background" format="reference|color"/> </declare-styleable>
3.导入picasso包
4.XML
<flybanner.FlyBanner android:id="@id/fl_banner" android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" />
*****设置背景:
<FrameLayout android:id="@+id/fl_banner" android:layout_width="match_parent" android:layout_height="150dp" android:background="@mipmap/banner_bg" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true"> <flybanner.FlyBanner android:id="@+id/fly_banner" android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" /> </FrameLayout>
5.java
示例:
(1)加载本地图片
FlyBanner mBannerLocal;
/** /* * 加载本地图片 */private void initLocalBanner() { mBannerLocal = (FlyBanner)mView.findViewById(R.id.fl_banner); List<Integer> images = new ArrayList<>(); images.add(R.mipmap.banner1); images.add(R.mipmap.banner2); mBannerLocal.setImages(images); mBannerLocal.setOnItemClickListener(new FlyBanner.OnItemClickListener() { @Override public void onItemClick(int position) { Utils.showToast("点击了第"+position+"张图片"); } });}
(2)加载网络图片
/** * 加载网页图片 */ private void initNetBanner() { mBannerLocal = (FlyBanner) mView.findViewById(R.id.fl_banner); List<String> imgesUrl = new ArrayList<>(); //for (int i = 0; i < mImagesUrl.length; i++) { // imgesUrl.add(mImagesUrl[i]); //} String url1 = "http://img2.imgtn.bdimg.com/it/u=3176420603,2152246847&fm=214&gp=0.jpg"; String url2 = "http://img5.imgtn.bdimg.com/it/u=3549708773,313146732&fm=23&gp=0.jpg"; imgesUrl.add(url1); imgesUrl.add(url2); mBannerLocal.setImagesUrl(imgesUrl); mBannerLocal.setOnItemClickListener(new FlyBanner.OnItemClickListener() { @Override public void onItemClick(int position) { Utils.showToast("点击了第" + position + "张图片"); } }); }
6.github说明
Config in java
/**
*
加载本地图片
*/
private void initLocalBanner() {
mBannerLocal = (FlyBanner) findViewById(R.id.banner_1);
List<Integer> images = new ArrayList<>();
images.add(R.drawable.img_1);
images.add(R.drawable.img_2);
images.add(R.drawable.img_3);
images.add(R.drawable.img_4);
mBannerLocal.setImages(images);
mBannerLocal.setOnItemClickListener(new FlyBanner.OnItemClickListener() {
@Override
public void onItemClick(int position) {
toast("
点击了第
"+position+"
张图片
");
}
});
}
/**
*
加载网页图片
*/
private void initNetBanner() {
mBannerNet = (FlyBanner) findViewById(R.id.banner_2);
List<String> imgesUrl = new ArrayList<>();
for (int i = 0; i < mImagesUrl.length; i++) {
imgesUrl.add(mImagesUrl[i]);
}
mBannerNet.setImagesUrl(imgesUrl);
mBannerNet.setOnItemClickListener(new FlyBanner.OnItemClickListener() {
@Override
public void onItemClick(int position) {
toast("
点击了第
" + position + "
张图片
");
}
});
}
xml参数说明:
参数 | 说明 | 类型 |
points_visibility | 指示器是否可见 | boolean |
points_position | 指示器位置(左,中,右) | int |
points_container_background | 指示器容器背景 | Drawable |
方法说明:
方法 | 参数 | 说明 |
setPointsIsVisible | isVisible | 指示器是否可见 |
setPoinstPosition | position | 指示器位置(左,中,右) |
注意:setImageUrl 设置轮播图片的地址