Android实现简单的banner轮播图
作者:勘察加熊人 发布时间:2021-10-25 01:11:28
标签: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>
来源:https://blog.csdn.net/cf8833/article/details/116896228


猜你喜欢
- 最近正在学习c#,对其中的方法重写和隐藏的概念很是模糊,现在将其归纳如下:1:方法重写:就是在基类中的方法用virtual关键字来标识,然后
- 一、数据类型与变量的介绍在程序运行的过程中计算机需要记录大量的状态 数据(这里我们统称数据)。那这些数据都存放在哪呢?程序在运行过程中的数据
- 最近有学生做毕业设计,想使用悬浮窗这种效果,其实很简单,我们可以通过系统服务WindowManager来实现此功能,本章我们来试验一下在当前
- 今天写一个小程序有一个给图片加上阴影的需求,记得WPF的Effect中就有阴影特效,就打算用它了。代码如下:using (var image
- 本文实例讲述了C#验证码识别基础方法,是非常实用的技巧。分享给大家供大家参考。具体方法分析如下:背景最近有朋友在搞一个东西,已经做的挺不错了
- 最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记。此种连接方法中有考虑到并发问题,在进行创建FTP连接的时候
- 快速幂取模算法的引入是从大数的小数取模的朴素算法的局限性所提出的,在朴素的方法中我们计算一个数比如5^1003%31是非常消耗我们的计算资源
- 在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。常见的限流方式
- 原因:给定的流不支持mark和reset就会报这个错误。获取到一个网络流,这个网络流不允许读写头来回移动,也就不允许mark/reset机制
- 本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下maven<dep
- 在C#中用同一个dataset保存从数据库中取出的多张表:cmd.CommandText = "select * from tab
- 一直以来,我们都是在服务端查询出结果生成JSON字符串,供前端调用,那么我们能否把从前端接受的JSON字符串转换成字典集合,让后台处理呢?比
- 目录一:spring读取配置或注解的过程二:spring的bean的生命周期2.1:实例化 Instantiation2.2:初始化3: 使
- 1.短信平台购买次数地址https://market.aliyun.com/products/57000002/cmapi00046920.
- java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计
- 前言各位小伙伴大家好,我是A哥。IDEA上个较大版本的发布,要追溯到4月份了:时隔近4个月,北京时间2020-07-28深夜,Intelli
- 在Android游戏开发中,我们可能经常要像PC操作一样在屏幕上双击。对于屏幕双击操作,Android 1.6版本以前并没有提供完善的手势识
- 本文所述为C#实现根据指定容器和控件名字获得控件的方法,在进行C#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下
- 相信大家都遇到过,自己的Java应用运行一段时间就宕机了或者响应请求特别慢。这时候就需要我们了来找出问题所在了。绝大部分都是代码问题导致的。
- 介绍今天上班的时候有个哥们问我怎么去实现一个按钮式的进度条,先来看看他需要实现的效果图。和普通的圆形进度条类似,只是中间的地方有两个状态表示