有很多人在使用listview的时候都不知道如何将一个控件布局或者添加到listview的上方,实现listview滑动时,头部会有一个view跟随者上下移动,在这里我写了一个案例,
这个案例大体就是在头部加了个viewpager实现轮播图的同时,绑定listview,
大家在添加头的时候需要注意的一点就是,如果要添加,请添加布局,不要单独的将控件添加进去,那样后期会非常被动,
这里只做了头部的,还有底部的和头部类似,只是需要listview.addFllow(),方法不同,自然效果不同。
首先,先展示效果:
如图:因为使用的轮播图样式,所以图片不一致,大体细节不在描述,重在技术核心listView.addhead
在这里我使用了网络获取轮播图片,如果不需要网络获取,忽略掉LoadData()方法;
将listview添加一个头,但是注意布局,
大家看代码吧,如果有不懂得可以问我,,牢记两个方法:
listView.addHeaderView(headerView),
listView.addFooterView(footerView);
代码如下:
1,Main方法中:
package com.yz.myviewpagertest; import android.os.Handler; import android.os.Message; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.squareup.okhttp.OkHttpClient; import com.squareup.picasso.Picasso; import com.yz.myviewpagertest.helper.JsonHelper; import com.yz.myviewpagertest.helper.OkHttpClientHelper; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { public static final String PATH = "http://dailyapi.ibaozou.com/api/v31/documents/latest"; private ViewPager viewPager_main; private List<BaozouBean.TopStoriesBean> top_stories = new ArrayList<>(); private List<ImageView> imageV_list = new ArrayList<>(); private MyPagerAdatper adapter; private List<ImageView> dot_list = new ArrayList<>(); private LinearLayout lin; private int position = 0; private ListView list_view_main; private ArrayAdapter<String> arr_adapter; private String[]