Android 中实现ListView滑动隐藏标题栏的代码

作者:Wo来给你讲故事 时间:2023-05-13 22:27:08 

布局中listview要覆盖标题栏


int mTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();
//滑动监听
showHideTitleBar(true);

ListView standby_lv = (ListView) findViewById(R.id.standby_lv);
standby_lv.setOnTouchListener(new View.OnTouchListener() {
  @Override
  public boolean onTouch(View v, MotionEvent event) {
   switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
     mFirstY = event.getY();
     break;
    case MotionEvent.ACTION_MOVE:
     mCurrentY = event.getY();
     if (mCurrentY - mFirstY > mTouchSlop) {
      // 下滑 显示titleBar
      showHideTitleBar(true);
     } else if (mFirstY - mCurrentY > mTouchSlop) {
      // 上滑 隐藏titleBar
      showHideTitleBar(false);
     }
     break;
    case MotionEvent.ACTION_UP:
     break;
   }
   return false;
  }
 });

private Animator mAnimatorTitle;
private Animator mAnimatorTitlePage;
private Animator mAnimatorContent;
private void showHideTitleBar(boolean tag) {
 if (mAnimatorTitle != null && mAnimatorTitle.isRunning()) {
  mAnimatorTitle.cancel();
 }
 if (mAnimatorTitlePage != null && mAnimatorTitlePage.isRunning()) {
  mAnimatorTitlePage.cancel();
 }
 if (mAnimatorContent != null && mAnimatorContent.isRunning()) {
  mAnimatorContent.cancel();
 }
 if (tag) {
  mAnimatorTitle = ObjectAnimator.ofFloat(mTitle, "translationY", mTitle.getTranslationY(), 0);
  mAnimatorTitlePage = ObjectAnimator.ofFloat(mTitlePage, "translationY", mTitlePage.getTranslationY(), 0);
  mAnimatorContent = ObjectAnimator.ofFloat(standby_lv, "translationY", standby_lv.getTranslationY(), getResources().getDimension(R.dimen.title_height));
 } else {
  mAnimatorTitle = ObjectAnimator.ofFloat(mTitle, "translationY", mTitle.getTranslationY(), -mTitle.getHeight());
  mAnimatorTitlePage = ObjectAnimator.ofFloat(mTitlePage, "translationY", mTitlePage.getTranslationY(), -mTitlePage.getHeight());
  mAnimatorContent = ObjectAnimator.ofFloat(standby_lv, "translationY", standby_lv.getTranslationY(), 0);
 }
 mAnimatorTitle.start();
 mAnimatorTitlePage.start();
 mAnimatorContent.start();
}

dimen.xml文件


<dimen name="titlepage_height">45dp</dimen>

以上所述是小编给大家介绍的Android ListView滑动隐藏标题栏的实例代码网站的支持!

来源:http://blog.csdn.net/baidu_35124863/article/details/54600611

标签:listview,滑动,隐藏,标题栏
0
投稿

猜你喜欢

  • java分页工具类的使用方法

    2023-08-17 02:00:14
  • SpringBoot文件分片上传的示例代码

    2023-06-18 11:30:15
  • 解析C#设计模式编程中备忘录模式的运用

    2023-06-10 11:40:00
  • 聊一聊jdk1.8中的ArrayList 底层数组是如何扩容的

    2023-11-16 08:55:50
  • Java深入浅出掌握SpringBoot之MVC自动配置原理篇

    2022-04-16 02:14:34
  • C#实现简单的计算器功能

    2021-05-31 01:52:46
  • Android TextView实现跑马灯效果的方法

    2023-07-30 20:44:12
  • hadoop运行java程序(jar包)并运行时动态指定参数

    2023-07-27 11:02:10
  • java操作mongodb示例分享

    2023-09-07 19:00:02
  • 老生常谈设计模式之动态代理

    2021-06-12 06:15:50
  • spring boot项目快速构建的全步骤

    2023-11-16 21:16:38
  • Android利用Sensor(传感器)实现指南针小功能

    2021-12-27 14:22:36
  • MybatisPlus分页排序查询字段带有下划线的坑及解决

    2022-08-16 22:26:28
  • 一文搞懂Java ScheduledExecutorService的使用

    2022-11-22 14:23:35
  • C#同步、异步远程下载文件实例

    2023-08-26 21:08:49
  • java异常(Exception)处理机制详解

    2023-06-06 08:21:48
  • Java并发之线程池Executor框架的深入理解

    2022-03-13 10:20:55
  • Android调试华为和魅族手机logcat不显示的问题

    2023-12-06 04:17:55
  • springboot+HttpInvoke 实现RPC调用的方法

    2021-09-17 15:43:39
  • Java IO流 文件传输基础

    2023-08-24 13:27:11
  • asp之家 软件编程 m.aspxhome.com