使用单声道大量闪烁将Winform移植到Mac

时间:2018-08-19 19:53:40

标签: macos winforms mono

使用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修复此问题吗?

0 个答案:

没有答案