Android开发---简易好用的轮播器

来源:互联网 发布:台湾也用淘宝吗 编辑:程序博客网 时间:2024/06/01 16:48

注意:请从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    设置轮播图片的地址


0 0
原创粉丝点击