安卓Banner

折月煮酒 提交于 2019-12-02 11:15:51

安卓Banner

导入第三方包

    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.youth.banner:banner:1.4.9'

布局

<com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="200dp">

    </com.youth.banner.Banner>

使用

package com.example.banner;



public class MainActivity extends AppCompatActivity implements OnBannerListener {
	private Banner banner;


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);


		banner = findViewById(R.id.banner);//一定要布局文件之后获取ID
		List<Integer> imageList = new ArrayList<>();
		int[] imageIDs = new int[]{R.drawable.gao, R.drawable.yun, R.drawable.img1};

		List<String> nameList = new ArrayList<>();
		String[] names = new String[]{"1", "2", "3", "4"};

		imageList.add(imageIDs[0]);
		imageList.add(imageIDs[1]);
		imageList.add(imageIDs[2]);
		nameList.add(names[0]);
		nameList.add(names[1]);
		nameList.add(names[2]);

		banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
		//圆点指示器(标题inside)
		banner.setBannerTitles(nameList);
		banner.setImages(imageList);

		banner.setImageLoader(new MyLoader());
		//设置图片加载器
		banner.setBannerAnimation(Transformer.FlipHorizontal);
		//动画

		banner.setOnBannerListener(this);
		//点击图片事件
		banner.setDelayTime(1000);
		banner.isAutoPlay(true);
		banner.setIndicatorGravity(BannerConfig.CENTER);
		banner.start();


	}

	@Override
	public void OnBannerClick(int position) {
		Toast.makeText(MainActivity.this, position + 1 + "", Toast.LENGTH_SHORT).show();
	}

	@Override
	protected void onStart() {
		super.onStart();
		banner.startAutoPlay();
	}

	@Override
	protected void onStop() {
		super.onStop();
		banner.stopAutoPlay();
	}

	private class MyLoader extends ImageLoader {//inner Class

		@Override
		public void displayImage(Context context, Object path, ImageView imageView) {
			Glide.with(MainActivity.this).load(path).into(imageView);

		}


	}
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!