Android 尝试从视图获取位图时,获取always IllegalStateException错误
我试图从GraphView中获取位图,以避免生成两次相同的图形。我不断地得到以下错误(尽管hardwareAccelerated=true): -下面是我尝试执行此操作的代码:Android 尝试从视图获取位图时,获取always IllegalStateException错误,android,bitmap,android-graphview,Android,Bitmap,Android Graphview,我试图从GraphView中获取位图,以避免生成两次相同的图形。我不断地得到以下错误(尽管hardwareAccelerated=true): -下面是我尝试执行此操作的代码: ImageView imageView = (ImageView) convertView.findViewById(R.id.imageView); Bitmap bitmap = Bitmap.createBitmap(graphView.getWidth(), graphView.getHe
ImageView imageView = (ImageView) convertView.findViewById(R.id.imageView);
Bitmap bitmap = Bitmap.createBitmap(graphView.getWidth(), graphView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Drawable bgDrawable = graphView.getBackground();
if (bgDrawable != null) {
bgDrawable.draw(canvas);
} else {
canvas.drawColor(Color.BLUE);
}
graphView.draw(canvas);
imageView.setImageBitmap(bitmap);
我试过几件事,但没有一件成功。我甚至尝试过将graphView放在布局中,并从布局中获取位图,但这也不起作用(我得到了完全相同的错误)
任何帮助都将不胜感激 试试看
<activity ... />
<activity android:hardwareAccelerated="true" />
在您的清单文件中。尝试以下操作:
Bitmap bitmap = Bitmap.createBitmap(graphView.getWidth(),graphView.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap){
@Override
public boolean isHardwareAccelerated(){
return true;
}
};
graphView.draw(canvas);
imageView.setImageBitmap(bitmap);
应用程序中I have hardwareAccelerated=true的可能重复项。对于活动,您也在活动中这样做了吗?还有一件事,你在使用外部库吗?
Bitmap bitmap = Bitmap.createBitmap(graphView.getWidth(),graphView.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap){
@Override
public boolean isHardwareAccelerated(){
return true;
}
};
graphView.draw(canvas);
imageView.setImageBitmap(bitmap);