banner无限轮播
来源:互联网 发布:办公软件2003 mac版 编辑:程序博客网 时间:2024/05/16 08:52
如果看不懂,可以去https://github.com/youth5201314/banner看看原文
https://github.com/youth5201314/banner
1:导入依赖和权限:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
compile 'com.youth.banner:banner:1.4.9'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'compile 'org.xutils:xutils:3.5.0'
compile 'com.squareup.okhttp3:okhttp:3.9.0'
2:public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { App app = (App) context.getApplicationContext(); app.getImageLoader().displayImage(path.toString(),imageView); }}3:public class App extends Application { private ImageLoader mImageLoader; @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG); DisplayImageOptions options=new DisplayImageOptions.Builder() .cacheOnDisk(true) .cacheInMemory(true) .showImageOnLoading(R.mipmap.ic_launcher) .build(); ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this) .defaultDisplayImageOptions(options) .build(); mImageLoader = ImageLoader.getInstance(); mImageLoader.init(configuration); } public ImageLoader getImageLoader() { return mImageLoader; }}4:@ViewInject(R.id.banner)Banner banner;//设置banner样式banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);//设置图片加载器banner.setImageLoader(new GlideImageLoader());//设置图片集合//设置banner动画效果banner.setBannerAnimation(Transformer.DepthPage);//设置标题集合(当banner样式有显示title时)//设置自动轮播,默认为truebanner.isAutoPlay(true);//设置轮播时间banner.setDelayTime(1500);//设置指示器位置(当banner模式中有指示器时)banner.setIndicatorGravity(BannerConfig.CENTER);//banner设置方法全部调用完毕时最后调用
5:请求数据:记得创建解析Bean类!
String url="http://www.babybuy100.com/API/getShopOverview.ashx";
@ContentView(R.layout.activity_main)public class MainActivity extends AppCompatActivity {
@ViewInject(R.id.banner)
Banner banner;
List<String> arr=new ArrayList<>();
List<String> list=new ArrayList<>();
Gson gson=new Gson();
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bean bean= (Bean) msg.obj;
List<Bean.ResultBean.AdvsBean> advs = bean.getResult().getAdvs();
for (int a=0;a<advs.size();a++){
arr.add(advs.get(a).getPic());
list.add(advs.get(a).getDescriptions());
}
banner.setImages(arr);
banner.setBannerTitles(list);
banner.start();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
x.view().inject(this);
//设置banner样式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置标题集合(当banner样式有显示title时)
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
String url="http://www.babybuy100.com/API/getShopOverview.ashx";
OkHttpClient okHttpClient=new OkHttpClient.Builder().addInterceptor(new HttpInterceptor()).build();
Request request=new Request.Builder()
.url(url)
.build();
okHttpClient.newCall(request).enqueue(new okhttp3.Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String string = response.body().string();
Bean bean = gson.fromJson(string, Bean.class);
Message msg=handler.obtainMessage();
msg.obj=bean;
handler.sendMessage(msg);
}
});
}
6:布局
<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"/>
阅读全文
0 0
- Banner无限轮播
- Banner无限轮播
- banner无限轮播
- banner无限轮播
- Banner无限轮播
- Banner无限轮播
- banner无限轮播
- Banner无限轮播
- Banner无限轮播
- banner 无限轮播
- Banner无限轮播
- Banner无限轮播
- Banner无限轮播
- Banner无限轮播
- Banner无限轮播
- banner无限轮播
- banner实现无限轮播
- banner无限轮播+gridview
- 【python实战】k-近邻算法(2)
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- centos7.3修改时区
- ViewPager实现左右无限循环效果
- Yii2.0 Cookie使用方法
- banner无限轮播
- Cocoa依赖管理器 -- 去中心化的Carthage & Cocoapods
- 遇到问题---maven---启动项目出现出现 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoa
- windows下常用的命名
- Android与Java代码设计六大原则
- 数据库阿里连接池 druid配置详解
- 插入排序
- 温故知新之从源码探析jsp运行原理
- Java GUI编程的几种常用布局管理器