安卓banner实现

来源:互联网 发布:java工程师转行 编辑:程序博客网 时间:2024/05/18 23:29

一:权限配置

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_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" />

二.依赖

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'compile 'com.google.code.gson:gson:2.8.2'compile 'com.youth.banner:banner:1.4.9'//compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'compile 'com.github.bumptech.glide:glide:3.7.0'

三.添加布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="150dp">    <com.youth.banner.Banner        android:id="@+id/mybanner"        android:layout_width="match_parent"        android:layout_height="150dp"></com.youth.banner.Banner></LinearLayout>

四.创建GlideImageLoader 图片加载类

public class GlideImaGlideImageLoader extends ImageLoader {    @Override    public void displayImage(Context context, Object path, ImageView imageView) {        Glide.with(context).load(path).into(imageView);    }}

五.实现

public class MainActivity extends AppCompatActivity {    List<HomeBean.DataBean.Ad1Bean> ad1;    List mlist=new ArrayList();    Banner  mbanner;    String mpath="http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mbanner= (Banner) findViewById(R.id.mybanner);        GetDate(mpath);    }    private void GetDate(String url){        OkHttp3Utils.getInstance().doGet(url, new GsonObjectCallback<HomeBean>() {            @Override            public void onUi(HomeBean homeBean) {                //得到图片的url                for(int i=0; i<homeBean.getData().getAd1().size();i++){                    String ad1s = homeBean.getData().getAd1().get(i).getImage();                    mlist.add(ad1s);                }                //设置图片加载器                mbanner.setImageLoader(new GlideImageLoader());                mbanner.setImages(mlist);                mbanner.start();            }            @Override            public void onFailed(Call call, IOException e) {            }        });    }}