我有个问题。在某些设备上,我有时(并不总是)在创建位图时得到一个IllegalArgumentException错误。可能是什么原因?
代码:
public class MStick {
public MStick(Context context, ViewGroup layout, int stick_res_id) {
mContext = context;
stick = BitmapFactory.decodeResource(context.getApplicationContext().getResources(), stick_res_id);
}
public void setStick(int stick_res_id) {
stick = BitmapFactory.decodeResource(mContext.getResources(), stick_res_id);
setStickSize(stick_width, stick_height);
}
public void setStickSize(int width, int height) {
stick = Bitmap.createScaledBitmap(stick, width, height, true);
stick_width = stick.getWidth();
stick_height = stick.getHeight();
}
}
mStick = new MStick(context, layout_mstick, R.drawable.mstick);
mStick.setStickSize(100, 100);异常:
java.lang.IllegalArgumentException:
at android.graphics.Bitmap.createBitmap (Bitmap.java:1113)
at android.graphics.Bitmap.createBitmap (Bitmap.java:952)
at android.graphics.Bitmap.createScaledBitmap (Bitmap.java:807)
at view.MStick.setStickSize (MStick.java:257)发布于 2022-04-24 19:09:40
Exception表示stick.getWidth()或stick.getHeight()是0。
drawable/mstick可能不是一个有效的资源。
https://stackoverflow.com/questions/71991133
复制相似问题