我只需要一個屏幕截圖作爲我的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