关于将布局保存为图像herehere的主题很少。
如果我具有列表视图,并且不可能将它们显示在一个屏幕上,该怎么办。

最佳答案

试试这个:

首先在ListView中启用图形缓存

vListView.setDrawingCacheEnabled(true);


然后调整ListView的大小以使每个项目可见。

ViewGroup.LayoutParams params = (ViewGroup.LayoutParams)  vListView.getLayoutParams();
params.height = (int) (mAdapter.getItemCount() * getResources().getDimension(R.dimen.max_item_height));
vListView.setLayoutParams(params);


最后,您可以使用回调或对Handler执行postDelayed并获取位图。

vListView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                drawingCache = vListView.getDrawingCache();
            }
        });


让我知道它是否对您有帮助。

顺便说一句,请记住,在Android Studio中,在调试模式下,您可以检查位图变量的内容。

08-18 13:18