【问题标题】:How to hide/show view when scrolling up/down?向上/向下滚动时如何隐藏/显示视图?
【发布时间】:2018-02-24 09:57:32
【问题描述】:

如何在像Foodpanda app 这样向上/向下滚动android时隐藏/显示视图

ScrollView 像上面的 gif 一样向上/向下时,我想隐藏/显示视图(线性或相对布局)。

但我的应用我不使用 Recyclerview 或列表视图(只是 textview)。

如何创建它?

谢谢!

【问题讨论】:

标签: java android layout scrollview


【解决方案1】:

为 RecylerView 添加滚动监听器

  1. 如果用户向下滚动 - 然后启动翻译动画向上

  2. 如果用户向上滚动 - 然后启动翻译动画DOWNWARDS

动画向上翻译:- (trans_upwards.xml)

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:fillAfter="true">

    <translate
        android:fromYDelta="0%p"
        android:toYDelta="100%p"
        android:duration="300"
         />

</set>

动画翻译DOWNWARDS:-(trans_downwards.xml)

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:fillAfter="true">

    <translate
        android:fromYDelta="100%p"
        android:toYDelta="0%p"
        android:duration="300"
         />

</set>

将滚动监听器添加到 recyclerView(并进行检查)

boolean check_ScrollingUp = false;
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    super.onScrolled(recyclerView, dx, dy);
    if (dy > 0) {
        // Scrolling up
     if(check_ScrollingUp)
       {
          YourView.startAnimation(AnimationUtils.loadAnimation(context,R.anim.trans_downwards));
   check_ScrollingUp = false;
       }

    } else {
        // User scrolls down
         if(!check_ScrollingUp )
             {
                      YourView
                      .startAnimation(AnimationUtils
                      .loadAnimation(context,R.anim.trans_upwards));
   check_ScrollingUp = true;

               }
    }
 }

@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);

  }
});

【讨论】:

  • 我的应用没有使用回收站视图 T.T
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 1970-01-01
  • 2023-01-17
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多