最近想在Fragment 里面添加轮播广告,加了之后图片就是显示不出来。后来测试才发现问题所在。不多说看步骤吧。
1、添加依赖 build.gradle 里面添加
dependencies{ compile 'com.youth.banner:banner:1.4.9' }
2、AndroidManifest.xml里面添加权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3、Fragment.xml文件添加
<com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="150dp"//这个高度自己设置 />
4、Fragment.java里面写上
package com.example.administrator.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.example.administrator.xinxinai.FristActivity;
import com.example.administrator.xinxinai.R;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2018/8/1.
*/
public class ZhuyeFragment extends Fragment {
private Banner myBanner;
View myZhuYeView;
List<Integer> ImageUrlData;//注意坑在这里 我之前写的是 List<String> ImageUrlData因为
//Glide.with(getActivity()).load(url).into(imageView);load里面需要整形
List<String>ContentData;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
myZhuYeView=LayoutInflater.from(getActivity()).inflate(R.layout.zhuye_fragment,container,false);
initBanner();
return myZhuYeView;
}
private void initBanner()
{
myBanner=(Banner)myZhuYeView.findViewById(R.id.banner);
ImageUrlData=new ArrayList<>();
ContentData=new ArrayList<>();
ImageUrlData.add(R.drawable.ad1);
ImageUrlData.add(R.drawable.ad2);
ImageUrlData.add(R.drawable.ad3);
ImageUrlData.add(R.drawable.ad4);
ContentData.add("我就是测试的什么也没有用,你就将就看吧1");
ContentData.add("我就是测试的什么也没有用,2");
ContentData.add("我我没有作用,你就将就看吧3");
ContentData.add("实在没有什么测试了就写这个吧4");
myBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
myBanner.setImageLoader(new MyLoader());
myBanner.setImages(ImageUrlData);
myBanner.setBannerTitles(ContentData);
myBanner.setBannerAnimation(Transformer.Default);
myBanner.setDelayTime(3000);
myBanner.isAutoPlay(true);
myBanner.setIndicatorGravity(BannerConfig.CENTER);
myBanner.start();
}
//自定义的图片加载器
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide设置图片的简单用法
Glide.with(getActivity()).load(path).into(imageView);
}
}
}