我有一个有动作栏和Tabview的应用程序 . 在tabview内部有一个列表视图 . 我想要的是当用户向下滚动列表时隐藏的操作栏,当用户向上滚动并且做得很好时弹出 . 作为一个例子,Android的youtube应用程序就是这样做的 .
我已经尝试过这段代码https://gist.github.com/vakrilov/6edc783b49df1f5ffda5但是当我隐藏栏时,屏幕底部会出现一个空格,所以在这种情况下并不是很有用 . 我尝试并且无法修改它并增加高度,因为我使用以下方法隐藏栏:
var params = userList.android.getLayoutParams();
params.height = 500;
userList.android.setLayoutParams(params);
userList.android.requestLayout();
还有这个
var LayoutParams= android.view.ViewGroup.LayoutParams;
var params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
最后我出来了一种工作的东西但它突然没有动画隐藏/出现
var isChangingBar = false;
var isBarHidden = false;
userList.on("pan", function(args) {
var delta = args.deltaY;
console.log("deltaY: " + delta);
if (!isChangingBar) {
if (delta > 0 && isBarHidden === true) {
isChangingBar = true;
isBarHidden = false;
page.actionBarHidden = false;
isBarHidden = false;
setTimeout(function() {
isChangingBar = false;
}, 250);
}
else if (delta < 0 && isBarHidden === false) {
isChangingBar = true;
page.actionBarHidden = true;
isBarHidden = true;
setTimeout(function() {
isChangingBar = false;
}, 250);
}
}
}
有些想法是否有更好的方法?
1 回答
您可以在隐藏/显示上添加操作栏动画:
现在我们可以使用页面
pan event
在滚动平移上/下事件中自动隐藏/显示操作栏 .page.actionBarHidden
的每次更改都将启动平滑的操作栏隐藏/显示转换 .