快速搭建自己的图片轮播

在安卓开发过程中,图片轮播用途非常广泛,因此 今天做了一个demo,测试还是非常好用的


首先借鉴 github上面的demo, 我借鉴的demo是这个地址:https://github.com/dongjunkun/BannerLayout

添加这个依赖  compile 'com.github.dongjunkun:BannerLayout:1.0.3'

<com.jiuxin.lunbo.BannerLayout
    android:id="@+id/banner2"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    app:autoPlayDuration="5000"
    app:indicatorMargin="10dp"
    android:layout_marginTop="10dp"
    app:indicatorPosition="centerBottom"
    app:indicatorShape="oval"
    app:indicatorSpace="3dp"
    app:scrollDuration="900"
    app:selectedIndicatorColor="?attr/colorAccent"
    app:selectedIndicatorHeight="6dp"
    app:selectedIndicatorWidth="6dp"
    app:unSelectedIndicatorColor="#99ffffff"
    app:unSelectedIndicatorHeight="6dp"
    app:unSelectedIndicatorWidth="6dp"
    app:defaultImage="@mipmap/ic_launcher"

    />
这是布局,然后 从网络上获取图片 这里面网络请求 我使用的是volley 接口地址:
http://121.42.26.208:83/interface/json_index.php?areaid=1&page=1&uid=

实现代码如下

public class MainActivity extends AppCompatActivity {
    BannerLayout banner;
    private static final String ZHANG_YUANCHONG = "http://121.42.26.208:83/interface/json_index.php?areaid=1&page=1&uid=";

    BannerEntity news;
    Gson gson;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        banner = (BannerLayout) findViewById(R.id.banner2);
        gson = new Gson();
        loadData();


    }


    private void loadData() {
        RequestQueue mQueue = Volley.newRequestQueue(this);
        StringRequest stringRequest = new StringRequest(ZHANG_YUANCHONG,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.d("TAG", response);
                        dealWithResponse(response);
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        });
        mQueue.add(stringRequest);

    }

    private void dealWithResponse(String response) {
        news = gson.fromJson(response, BannerEntity.class);
        Toast.makeText(this, "aaa>>" + news.getBannerlist().get(0).getInfo() + "<<>" + news.getBannerlist().get(0).getPicurl(), Toast.LENGTH_SHORT).show();
        // Log.d(news.getBannerlist().get(0).getInfo() + "<<>" + news.getBannerlist().get(0).getPicurl(), "===================");
        List<BannerEntity.BannerlistBean> mEnjoyLists = new ArrayList<>();
        mEnjoyLists = news.getBannerlist();
        Toast.makeText(this, "aaa>>" + news.getBannerlist().get(0).getInfo() + "<<>" + news.getBannerlist().get(0).getPicurl(), Toast.LENGTH_SHORT).show();
        List<String> urls=new ArrayList<>();

        for (int i = 0; i < mEnjoyLists.size(); i++) {
            urls.add("http://121.42.26.208:83/"+mEnjoyLists.get(i).getPicurl());
        }
        banner.setViewUrls(urls);

        banner.setOnBannerItemClickListener(new BannerLayout.OnBannerItemClickListener() {
            @Override
            public void onItemClick(int position) {
                Toast.makeText(MainActivity.this, String.valueOf(position), Toast.LENGTH_SHORT).show();
            }
        });


    }
}

有了这个例子 图片轮播 还是非常简单的喽 最后附上demo地址:

https://github.com/yuanchongzhang/Lunbo

附上运行效果图




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值