Android:SwipeRefreshLayout导致RecyclerView在截图时不更新?
首先,我正在创建一个应用程序,它需要像iOS中那样的透明活动+模糊 我决定使用整个窗口的getDrawingcacheAndroid:SwipeRefreshLayout导致RecyclerView在截图时不更新?,android,android-recyclerview,Android,Android Recyclerview,首先,我正在创建一个应用程序,它需要像iOS中那样的透明活动+模糊 我决定使用整个窗口的getDrawingcache View decorView = activity.getWindow().getDecorView(); decorView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW); decorView.setDrawingCacheEnabled(true);
View decorView = activity.getWindow().getDecorView();
decorView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
decorView.setDrawingCacheEnabled(true);
decorView.buildDrawingCache();
image = Bitmap.createBitmap(decorView.getDrawingCache());
decorView.destroyDrawingCache();
decorView.setDrawingCacheEnabled(false);
然后做一些模糊处理,像这样设置新活动的背景
activity.getWindow().setBackgroundDrawable(bd);
这种方法非常有效,除非我的原始活动包含。我得到的结果总是返回我第一次启动新活动时的相同位图
第一次启动活动时,背景图像设置正确。但之后(第二、第三等…)的背景图像与第一个相同
我需要帮助,任何建议都将不胜感激,谢谢
如果标题不好,可以自由编辑
更新
在对这个问题进行了几天的调查之后,我发现真正的原因是布局问题。我的屏幕截图在第一次调用onRefreshListener后不会更新。我也有同样的问题
添加:
mRecyclerView.postDelayed(new Runnable()
{
@Override
public void run()
{
mRecyclerView.layout(0,0,mRecyclerView.getWidth(),mRecyclerView.getHeight());
if (mRecyclerView.isDrawingCacheEnabled())
{
mRecyclerView.destroyDrawingCache();
}
}
},50);
mSwipeLayout.setRefreshing之后(false)代码>为我解决了问题谢谢您的帮助,我将尝试您的方法:)但实际上,如果使用备用库避免此问题,您也可以尝试