直播平台源码,上传本地图片实现个人名片背景图轮播的相关代码
新建一个Activity进行轮播图的设置
1、xml文件布局如下:
<?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=".BannerActivity"> <!--关于轮播图下方圆圈的样式设置--> <!-- app:indicator_height="10dp" 设置圆圈的高--> <!-- app:indicator_margin="5dp" 设置每个圆圈的间距--> <!-- app:indicator_width="10dp" 设置圆圈的宽度--> <!-- app:image_scale_type="fit_xy" 设置图片的显示方式,类似于ImageView--> <com.youth.banner.Banner android:id="@+id/Banner_Main" android:layout_width="match_parent" android:layout_height="180dp" android:layout_gravity="center" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" app:image_scale_type="fit_xy" app:indicator_height="10dp" app:indicator_margin="5dp" app:indicator_width="10dp" />
</LinearLayout>
2、为了方便演示,将Banner控件就放到了文件中间了。接下来是Java文件的代码,为了方便查看将其获取本地图片和设置轮播图分别封装到了一个方法中。
private Banner BannerMain; //用于存放获取的图片 List<Drawable> Banner_list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_banner); initView(); Drawable_Get(Banner_list); } //获取图片存放到list中 private void Drawable_Get(List arrayList) { //从drawable文件夹下获取到事先准备的图片,在这里演示三张图片 Drawable drawable = getResources().getDrawable(R.drawable.team_one); Drawable drawable1 = getResources().getDrawable(R.drawable.team_two); Drawable drawable2 = getResources().getDrawable(R.drawable.team_three); //把他们存放到一个list集合中 arrayList.add(drawable); arrayList.add(drawable1); arrayList.add(drawable2); //调用轮播图设置方法 Banner_Set(Banner_list); } //将图片存放到轮播图中 private void Banner_Set(List arrayList) { //这是设置轮播图的关键位置,setImages(list) 设置轮播图的图片资源 //setImageLoader(一个实体类)用于加载图片到手机页面上显示 BannerMain.setImages(Banner_list).setImageLoader(new MyImage()).start(); } private void initView() { BannerMain = (Banner) findViewById(R.id.Banner_Main); }
其中注释中提到了一个实体类,那我们需要创建一个Java文件,来编写这个类,让这个自定义的类去实现ImageLoaderInterface这个结构,并重写其中的抽象方法,这里还使用了另外的第三方插件Glide来解析图片,存放到轮播图中。依赖放在这里:
implementation 'com.github.bumptech.glide:glide:4.5.0' public class MyImage implements ImageLoaderInterface { @Override public void displayImage(Context context, Object path, View imageView) { Glide.with(context).load(path).into((ImageView) imageView); } @Override public View createImageView(Context context) { return null; } }
以上就是 直播平台源码,上传本地图片实现个人名片背景图轮播的相关代码,更多内容欢迎关注之后的文章