Steps to use Android-carousel banner

1. Add dependencies

Add dependencies in the dependencies code block of the build.gradle configuration file


Insert picture description here

2. Add controls to the layout file:

Code the res/layout/activity_main.xml file in the directory

<?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. Write logic code

Code the MainActivity.java file in the java directory
The useless packages above the code were deleted by themselves, because I did other business later, so I imported many packages

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);
        }
    }
}

running result

At this point, the banner carousel diagram is complete, and you can run the project to view it. The above picture needs to be added in the drawable.
Insert picture description here
Insert picture description here


Continuously updating...

Guess you like

Origin blog.csdn.net/weixin_44325444/article/details/107183788