软件编程
位置:首页>> 软件编程>> Android编程>> Android实现简单的banner轮播图

Android实现简单的banner轮播图

作者:勘察加熊人  发布时间:2021-10-25 01:11:28 

标签:Android,banner,轮播图

本文实例为大家分享了Android实现简单banner轮播图的具体代码,供大家参考,具体内容如下

说明:想玩一个简单的轮播图效果  用的第三方的框架玩一下,支持设置轮播图多种样式

1.效果图

Android实现简单的banner轮播图

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>

来源:https://blog.csdn.net/cf8833/article/details/116896228

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com