关于将布局保存为图像here和here的主题很少。
如果我具有列表视图,并且不可能将它们显示在一个屏幕上,该怎么办。
最佳答案
试试这个:
首先在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中,在调试模式下,您可以检查位图变量的内容。