当前位置: 移动技术网 > IT编程>移动开发>Android > Android 中实现ListView滑动隐藏标题栏的代码

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

新道ありさ,半个月亮掉下来,白沟论坛

布局中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滑动隐藏标题栏的实例代码,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网