本文实例为大家分享了Android实现简单banner轮播图的具体代码,供大家参考,具体内容如下
说明:想玩一个简单的轮播图效果 用的第三方的框架玩一下,支持设置轮播图多种样式
1.效果图
2.添加依赖
implementation 'com.youth.banner:banner:1.4.10'
implementation "com.github.bumptech.glide:glide:4.6.1"
3.主界面
package com.example.myapplication34;
import android.os.Bundle;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import java.util.ArrayList;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
//界面控件
private Banner mbanner;
//轮播图的数据
private MyImageLoader myImageLoader;
private ArrayList<Integer> photos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle bundle = getIntent().getBundleExtra("bundle");
initData();
initView();
}
//界面初始化
private void initView() {
mbanner = (Banner) findViewById(R.id.banner);
//设置轮播的样式
mbanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR); //CIRCLE_INDICATOR
//设置图片加载器
mbanner.setImageLoader(myImageLoader);
//设置轮播的动画效果,里面有很多种特效,可以都看看效果。
mbanner.setBannerAnimation(Transformer.ZoomOutSlide);
//设置轮播间隔时间
mbanner.setDelayTime(3000);
//设置是否为自动轮播,默认是true
mbanner.isAutoPlay(true);
//设置指示器的位置,小点点,居中显示
mbanner.setIndicatorGravity(BannerConfig.CENTER);
//设置图片加载地址
mbanner.setImages(photos)
//开始调用的方法,启动轮播图。
.start();
}
//数据初始化
private void initData() {
myImageLoader = new MyImageLoader();
//将轮播的图片放在photos 那里
photos = new ArrayList<Integer>();
photos.add(R.mipmap.photo2);
photos.add(R.mipmap.photo1);
photos.add(R.mipmap.photo3);
photos.add(R.mipmap.photo4);
photos.add(R.mipmap.photo5);
photos.add(R.mipmap.photo6);
}
}
4.设置图片源数据
package com.example.myapplication34;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;
public class MyImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context.getApplicationContext())
.load(path)
.into(imageView);
}
}
5.布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。