我只需要一个屏幕截图作为我的ListView的位图。我无法弄清楚如何做到这一点。屏幕的位图不是用来模糊它,而是将其设置为另一个片段中的背景。 我从哪里截图? BaseAdapter或我的片段,其中包含ListView? 或在单击ListView中的项目后打开的新片段?列表视图的屏幕截图并将其转换为位图
更新: 从我的New Fragment调用ViewTreeObserver中的方法。方法loadBitmapFromView
完美。我现在的问题是我不知道如何获得我想要的图片从ListView。我使用的参数mContainer,mContainer.getWidth(),mContainer.getHeight()
应该更改为我的ListView中的参数。 (该PARAMS现在是形成用于测试目的的新片段)
private void applyBlur() {
mContainer.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
mContainer.getViewTreeObserver().removeOnPreDrawListener(this);
mContainer.buildDrawingCache();
blur(MOKListViewFragment.loadBitmapFromView(mContainer,mContainer.getWidth(),mContainer.getHeight()), mContainer);
return true;
}
});
}
这是我叫我的新片段,从我这其实我是想从我的图片中的ListView BaseAdapter。
ImageView imageView = (ImageView) rowView.findViewById(R.id.thumb_button_1);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MOKPagerFragment pagerFragment = new MOKPagerFragment();
FragmentTransaction fragmentTransaction = ((Activity) mContext).getFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
fragmentTransaction.add(R.id.fragment_container, pagerFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
对不起,如果这是令人困惑。
看到这个链接http://stackoverflow.com/questions/12742343/android-get -screenshot-of-all-listview-items?rq = 1 – 2014-09-26 11:59:26
我认为这比我需要的更多。我不需要包含所有未显示项目的屏幕截图。只需要ListView的当前状态的屏幕截图,以便为背景目的模糊该位图。 – 2014-09-26 12:10:29