首页 > 系统 > Android > 正文

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

2019-12-12 03:59:37
字体:
来源:转载
供稿:网友

布局中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滑动隐藏标题栏的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表