android 轮播图 简单demo

github banner轮播图框架:https://github.com/youth5201314/banner 可以设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
原来这位大神的轮播图DEMO功能齐全,但我不需要复杂的功能,实现图片轮播即可。
故简化成下面图片所示。
【android 轮播图demo下载】

详细:https://github.com/youth5201314/banner

app 依赖

 implementation 'com.youth.banner:banner:1.4.10'
 implementation "com.github.bumptech.glide:glide:3.7.0"

清单文件增加权限

 <uses-permission android:name="android.permission.INTERNET" />
 <!-- if you want to load images from a file OR from the internet -->
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

activity_main 页面文件

<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"
    android:orientation="vertical">

    <com.youth.banner.Banner
        android:layout_width="match_parent"
        android:layout_height="600px"
        android:background="@color/colorPrimary"
        android:id="@+id/banner">
    </com.youth.banner.Banner>
</LinearLayout>

MainActivity文件

package com.example.administrator.banner;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.youth.banner.Banner;
import com.youth.banner.listener.OnBannerListener;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class MainActivity extends AppCompatActivity implements OnBannerListener {

    Banner banner;
    public static List<?> images=new ArrayList<>();
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        banner=(Banner)findViewById(R.id.banner);

        String[] urls = getResources().getStringArray(R.array.url);
        List list = Arrays.asList(urls);
        images = new ArrayList(list);

        //设置自动轮播,默认为true
        banner.isAutoPlay(true);
        //设置轮播时间
        banner.setDelayTime(1500);
        banner.setImages(images)
                .setImageLoader(new GlideImageLoader())
                .setOnBannerListener(this)
                .start();

    }

    @Override
    public void OnBannerClick(int position) {
        Toast.makeText(getApplicationContext(),"你点击了:"+position,Toast.LENGTH_SHORT).show();
    }
}

GlideImageLoader文件

package com.example.administrator.banner;

import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;

public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //具体方法内容自己去选择,次方法是为了减少banner过多的依赖第三方包,所以将这个权限开放给使用者去选择
        Glide.with(context.getApplicationContext())
                .load(path)
                .into(imageView);
    }
}

更多可设置的方法和属性请参考github
【android 轮播图demo下载】
如需帮助请留言!

猜你喜欢

转载自blog.csdn.net/weixin_42362496/article/details/85248665