Banner的简单实现

来源:互联网 发布:中医诊断软件 编辑:程序博客网 时间:2024/06/05 00:35

这篇博客就是一个简单的用OkHttp从网上请求一些图片最后用banner展示出来,首先我们先自己定义一个类继承ImageLoader

public class MyApps extends ImageLoader {    @Override    public void displayImage(Context context, Object path, ImageView imageView) {        Glide.with(context).load(path).into(imageView);    }}
OkHttp的封装和Bean类我就不写了,直接就写主方法的类了

public class MainActivity extends AppCompatActivity {    private Banner bnr;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //找控件        bnr = findViewById(R.id.bnr);        //请求数据        initData();    }    private void initData() {        OkHttp.getAsync("http://www.babybuy100.com/API/getShopOverview.ashx", new OkHttp.DataCallBack() {            @Override            public void requestFailure(Request request, IOException e) {                Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_SHORT).show();            }            @Override            public void requestSuccess(String result) throws Exception {               //gson解析                Gson gson = new Gson();                Bean bean = gson.fromJson(result,Bean.class);                //轮播                List<String> lists = new ArrayList<>();                for (int i = 0; i < bean.getResult().getAdvs().size(); i++) {                    lists.add(bean.getResult().getAdvs().get(i).getPic());                }                bnr.setImageLoader(new MyApps());                bnr.setImages(lists);                bnr.start();            }        });    }}
主方法的布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout    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="com.example.banner_dome.MainActivity">   <com.youth.banner.Banner       android:id="@+id/bnr"       android:layout_width="match_parent"       android:layout_height="200dp"></com.youth.banner.Banner></RelativeLayout>
最后 写完不要忘记依赖和网络请求的权限