【发布时间】:2014-08-26 07:32:15
【问题描述】:
我想在用户向上/向下滚动列表视图时隐藏/显示兼容性操作栏。当操作栏消失时,列表也会占用操作栏的空间。
我采用了一种方法,但它会产生难看的闪烁。有人对这个问题有适当的解决方案吗?所需的行为类似于 Google+ 应用中的隐藏/显示机制(我对页脚不感兴趣)。
我尝试过的如下:
boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (!tabletSize) {
final ActionBar actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar();
lvNews.setOnScrollListener(new AbsListView.OnScrollListener() {
private int mLastFirstVisibleItem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (mLastFirstVisibleItem < firstVisibleItem) {
if (actionBar.isShowing()) {
actionBar.hide();
}
}
if (mLastFirstVisibleItem > firstVisibleItem) {
if (!actionBar.isShowing()) {
actionBar.show();
}
}
mLastFirstVisibleItem = firstVisibleItem;
}
});
}
【问题讨论】:
-
您最近检查过 Google IO 代码吗?它包含最佳实践github.com/google/iosched
标签: android listview scroll android-actionbar