Android---Bannerd的基本使用
来源:互联网 发布:炉石大数据各数据意义 编辑:程序博客网 时间:2024/06/08 08:31
Bannerd的基本使用
Banner是什么?
一个可以替代ViewPa的控件
为什么使用Banner?
因为现在绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页, 所以要实现循环还得需要自己去添加。
接下时如何使用Banner?
接下时如何使用Banner?
先看看效果图
①导入依赖
compile 'com.youth.banner:banner:1.4.9' 这是Banner的依赖
compile 'com.github.bumptech.glide:glide:3.5.2' 这是Gilde的依赖
compile 'com.squareup.okio:okio:1.5.0'compile 'com.squareup.okhttp3:okhttp:3.2.0'compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' 这3个时okhttp的依赖包compile 'com.google.code.gson:gson:2.8.2' 这是Gson的依赖包
因为在Banner使用中会用到Gilde(图片加载框架)
②导入utils包(封装好的okhttp3的网络请求包,在下面的源代码中有,可以自己下载)
③Mainactivity.java中代码
package com.dabin.www.banner;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.Toast;import com.youth.banner.Banner;import java.io.IOException;import java.util.ArrayList;import java.util.List;import app.GlideImageLoader;import bean.NewBase;import okhttp3.Call;import utils.GsonObjectCallback;import utils.NetWorkUtils;import utils.OkHttp3Utils;public class MainActivity extends AppCompatActivity { List mlist=new ArrayList(); String mpath = "http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage"; private Banner mbanner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mbanner = (Banner) findViewById(R.id.mybanner); boolean netWorkAvailable = NetWorkUtils.isNetWorkAvailable(this); if (!netWorkAvailable) { Toast.makeText(MainActivity.this, "联网:" + netWorkAvailable, Toast.LENGTH_SHORT).show(); } getData(); } //get的请求 private void getData() { OkHttp3Utils.getInstance().doGet(mpath, new GsonObjectCallback<NewBase>() { @Override public void onUi(NewBase newBase) { for(int i=0; i<newBase.getData().getAd1().size();i++){ String ad1s = newBase.getData().getAd1().get(i).getImage(); mlist.add(ad1s); } //设置图片加载器 //mbanner.setImageLoader(new GlideImageLoader()); mbanner.setImageLoader(new GlideImageLoader()); mbanner.setImages(mlist); mbanner.start(); } @Override public void onFailed(Call call, IOException e) { } }); }}
④ 新建一个MyAppde继承Application
package app;import android.app.Application;public class MyApp extends Application{ public static MyApp mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; } public static MyApp getInstance() { return mInstance; }}⑤新建一个类继承ImageLoader
package app;import android.content.Context;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.youth.banner.loader.ImageLoader;/** * Created by Dabin on 2017/10/13. */public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); }}⑥解析json 使用gsonformat 解析
⑦清单中权限和MyApp的引用
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dabin.www.banner"> <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"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <application android:name="app.MyApp" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>就可以实现效果了
源码地址
https://github.com/Dabinai/Bannera
阅读全文
0 0
- Android---Bannerd的基本使用
- Android Preferences的基本使用
- Android ViewStub的基本使用
- android TabHost的基本使用
- Android RecyclerView的基本使用
- android DbUtils的基本使用
- Android--MonkeyRunner的基本使用
- Android, 基本控件的使用
- Android notification的基本使用
- Android CardView的基本使用
- Android RecyclerView 的基本使用
- Android ExpandableListView的基本使用
- Android Studio的基本使用
- Android EventBus的基本使用
- Android动画的基本使用
- Android 多线程的基本使用
- android SlidingPaneLayout的基本使用
- Android okhttp3的基本使用
- 布局侧边栏
- 博弈问题外挂-SG函数
- Class的 getSuperclass与getGenericSuperclass区别和如何获取泛型参数类型
- BZOJ
- RecyclerView
- Android---Bannerd的基本使用
- 使可变性最小化。
- git撤销操作(git checkout; git reset)
- maven导入jar包报错解决办法之一
- Hashmap的容量为什么是2的幂次
- matlabday01
- Android RecyclerView 获取数据实现添加,删除功能
- 链栈实现
- 获得WINDOWS下所有用户的信息