在向上/向下滚动浏览器时如何隐藏/显示视图Foodpanda
app
我希望在scrollview
上/下时隐藏/显示视图(线性或相对布局),就像上面的gif一样。
但我的应用程序我不使用Recyclerview或列表视图(只是textview)。
如何创建它?
谢谢!
答案 0 :(得分:0)
将滚动侦听器添加到recylerView
如果用户向下滚动,则启动翻译动画UPWARDS
如果用户向上滚动,则启动翻译动画DOWNWARDS
动画翻译UPWARDS: - (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:toDelta="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 {
// Scrolling 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);
}
});