Android实现简单的banner轮播图
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持海外IDC网。
【文章出处:cc防御 转载请说明出处】