ListView添加headerview实现连动滑动

本文介绍了一种在安卓开发中实现ListView与上方多个View联动滑动的方法,避免了使用ScrollView和重写ListView的onMeasure方法所带来的复杂性。通过将额外的View作为HeaderView添加到ListView中,可以轻松实现流畅的滑动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安卓布局中,我们经常碰到这种情况,在listview上方有几个view,想要实现与listview一样的滑动效果,往往我们会把整个布局做成一个scrollView,然后重写listview的onmeasure方法,嵌套在scrollView中,这样写其实比较麻烦,谷歌官方已经给出了解决方法。将listview前面的所有view放在一个layout布局中,在activity中初始化view时,将此layout布局inflate成一个view对象,并指定其父容器为listview,然后在listview.setAdapter之前加上listview.addHeaderView(view);这样就可以实现连动滑动了,代码如下:

        private View listview_header;

        private ListView listView;

        private MainListAdapter adapter;

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

    }


   private void inititalView() {
        listView=(ListView) findViewById(R.id.listview_data);
        listview_header=getLayoutInflater().inflate(R.layout.listview_header_layout,
                listView, false);

        adapter=new MainListAdapter(this);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值