Xbanner

//在build.gradle文件中加入依赖
compile 'com.xhb:xbanner:1.2.2'
compile 'com.nineoldandroids:library:2.4.0'



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ff0000"></solid>
    <size
        android:width="10dp"
        android:height="10dp"></size>
</selector>




package frr.bawei.com.myautolayout;

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.ListView;

import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.stx.xhb.xbanner.XBanner;
import com.stx.xhb.xbanner.transformers.Transformer;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;

import java.util.ArrayList;
import java.util.List;

import frr.bawei.com.myautolayout.bean.Mynews;
import okhttp3.Call;

public class MainActivity extends AppCompatActivity {
    private XBanner banner;
    private List<String> images = new ArrayList<>();
    private ViewPager viewpagers;
    private ListView lv;
    private String str= "http://news-at.zhihu.com/api/4/news/latest";
    private ArrayList<Mynews.TopStoriesBean> list=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }
    private void initView() {
        banner = (XBanner) findViewById(R.id.banner);
        lv = (ListView) findViewById(R.id.lv);
        initData();
    }
    private void initData() {
        OkHttpUtils.get().url(str).build().execute(new StringCallback() {
            @Override
            public void onError(Call call, Exception e, int id) {
            }
            @Override
            public void onResponse(String response, int id) {
                Gson gson=new Gson();
                Mynews mynews = gson.fromJson(response, Mynews.class);
                List<Mynews.TopStoriesBean> top_stories = mynews.getTop_stories();
                for(int i=0;i<top_stories.size();i++){
                    images.add(top_stories.get(i).getImage());
                }
                banner.setData(images,null);

                // XBanner适配数据
                banner.setmAdapter(new XBanner.XBannerAdapter() {
                    @Override
                    public void loadBanner(XBanner banner, View view, int position) {
                        Glide.with(MainActivity.this).load(images.get(position)).into((ImageView) view);
                    }
                });

                // 设置XBanner的页面切换特效
                banner.setPageTransformer(Transformer.Default);
                // 设置XBanner页面切换的时间,即动画时长
                banner.setPageChangeDuration(1000);

            }
        });

    }
    @Override
    protected void onResume() {
        super.onResume();
        banner.startAutoPlay();
    }

    @Override
    protected void onStop() {
        super.onStop();
        banner.stopAutoPlay();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值