使用mono将我的应用程序从winforms转换为mac后,我发现所有逻辑似乎都可以正常工作。但是,在将转换后的应用程序放入双缓冲区时,我遇到了很多麻烦。
该表单的DoubleBuffered设置为true,而我正在使用的所有控件都有
private int previousTotal = 0;
private boolean loading = true;
private int visibleThreshold = 5;
int firstVisibleItem, visibleItemCount, totalItemCount;
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
visibleItemCount = mRecyclerView.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();
if (loading) {
if (totalItemCount > previousTotal) {
loading = false;
previousTotal = totalItemCount;
}
}
if (!loading && (totalItemCount - visibleItemCount)
<= (firstVisibleItem + visibleThreshold)) {
// End has been reached
Log.i("Yaeye!", "end called");
// Add to data set
chatMessages.add(0, new Message("Hello World!"));
loading = true;
}
}
});
但是似乎没有效果。
如果在加载过程中显示表格背景(这意味着只有控件会略微闪烁),那就不好了,但是当整个加载控件持续一秒钟为白色时,buc当前看起来很糟糕。
有什么方法可以使用Mono修复此问题吗?