Pasos para usar el banner carrusel de Android

1. Agregar dependencias

Agregue dependencias en el bloque de código de dependencias del archivo de configuración build.gradle


Inserte la descripción de la imagen aquí

2. Agregue controles al archivo de diseño:

Codifique el archivo res / layout / activity_main.xml en el directorio

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="230dp"
	        app:layout_constraintTop_toTopOf="parent"
	        />
	        
	    <TextView
	        android:id="@+id/textView"
	        android:layout_width="115dp"
	        android:layout_height="91dp"
	        android:layout_marginTop="116dp"
	        android:layout_marginEnd="244dp"
	        android:text="TextView"
	        android:textSize="20sp"
	        app:layout_constraintEnd_toEndOf="parent"
	        app:layout_constraintBottom_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

3. Escribe el código lógico

Codifique el archivo MainActivity.java en el directorio java
Los paquetes inútiles sobre el código fueron eliminados por sí mismos, porque hice otros negocios más tarde, así que importé muchos paquetes

package com.example.bb;

import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.bumptech.glide.Glide;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.loader.ImageLoader;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    
    

    private Banner mbanner;
    private MyImageLoader myImageLoader;
    private ArrayList<Integer> imagePath;
    private ArrayList<String> imageTitle;
    private TextView textView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView =findViewById(R.id.textView);
        initData();
        initView();
    }


    private void initData() {
    
    
        imagePath =new ArrayList<>();
        imageTitle =new ArrayList<>();
        imagePath.add(R.drawable.num1);
        imagePath.add(R.drawable.num2);
        imagePath.add(R.drawable.num3);
        imageTitle.add("机电");
        imageTitle.add("60周年");
        imageTitle.add("习近平");

    }

    private void initView(){
    
    
        myImageLoader =new MyImageLoader();
        mbanner =findViewById(R.id.banner);
        //设置banner样式
        mbanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
        //设置图片加载器
        mbanner.setImageLoader(myImageLoader);
        //设置轮播的动画效果
        mbanner.setBannerAnimation(Transformer.ZoomOutSlide);
        //设置图片的文字
        mbanner.setBannerTitles(imageTitle);
        //设置轮播的时间间隔
        mbanner.setDelayTime(3000);
        //设置是否为自动轮播
        mbanner.isAutoPlay(true);
        //设置指示器的位置,小点点,居中显示
        mbanner.setIndicatorGravity(BannerConfig.CENTER);
        //设置图片加载地址
        mbanner.setImages(imagePath)
                //轮播图的监听
                .setOnBannerListener(new OnBannerListener() {
    
    
                    @Override
                    public void OnBannerClick(int position) {
    
    
                        switch (position){
    
    
                            case 0:
                                textView.setText("机电");
                            case 1:
                                textView.setText("60周年");
                            case 2:
                                textView.setText("习近平");
                                break;

                        }
                    }
                }).start();
    }


    public class MyImageLoader extends ImageLoader{
    
    
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
    
    
            Glide.with(context.getApplicationContext())
                    .load(path)
                    .into(imageView);
        }
    }
}

resultado de ejecución

En este punto, el diagrama de carrusel de pancartas está completo y puede ejecutar el proyecto para verlo. La imagen de arriba debe agregarse en el dibujo.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


Actualizando continuamente ...

Supongo que te gusta

Origin blog.csdn.net/weixin_44325444/article/details/107183788
Recomendado
Clasificación