Pasos para usar el marco de banner de carrusel de Android
1. Agregar dependencias
Agregue dependencias en el bloque de código de dependencias del archivo de configuración build.gradle
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.
Actualizando continuamente ...