listview的上滑下滑监听,上下滑监听隐藏顶部选项栏

本文介绍如何通过监听ListView的滑动事件来实现类似京东、同程APP的顶部选项栏隐藏和显示特效。关键在于使用setOnTouchListener监听滑动方向,并应用位移动画。适合安卓开发初学者参考。
摘要由CSDN通过智能技术生成

listview的上滑下滑监听,来隐藏和显示顶部选项栏的特效,京东 同程等APP的资源列表都有此特效.
两个重点:
①listview的setOnTouchListener监听方法
当滑动的Y位置减去按下的Y位置大于最小滑动距离时则为向下滑动
反之,当按下的Y位置减去滑动的Y位置大于最小滑动距离则为向上滑动
②位移动画
就只要这两点需要注意的,直接上代码,注释很清楚.

package com.example.android_topbar_gone;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewConfiguration;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class MainActivity extends Activity {
   

    private RelativeLayout top_rl;
    private ListView listview;
    private List<Map<String, Object>>list = new ArrayList<Map<String,Object>>();

    private int mTouchShop;//最小滑动距离
    protected float mFirstY;//触摸下去的位置
    protected float mCurrentY;//滑动时Y的位置
    protected int direction;//判断是否上滑或者下滑的标志

    protected boolean mShow;//判断是否执行了上滑动画
    private Animator mAnimator;//动画属性

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

        //初始化id
        setViews();

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值