I'm trying to inflate a layout and use that to set a bitmap on an image view. Then, I'm adding that imageview to a linear layout and displaying the linear layout. Here's what I've tried:
public class TestActivity extends Activity {
private static Bitmap bitMap;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
bitMap = Bitmap.createBitmap(getWindowManager().getDefaultDisplay().getWidth(),
getWindowManager().getDefaultDisplay().getHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitMap);
LayoutInflater inflater = LayoutInflater.from(this);
View v1 = inflater.inflate(R.layout.main, null);
v1.layout(0, 0, getWindowManager().getDefaultDisplay().getWidth(),
getWindowManager().getDefaultDisplay().getHeight());
v1.draw(canvas);
ImageView i1 = new ImageView(this);
i1.setImageBitmap(bitMap);
i1.setAdjustViewBounds(true);
i1.setLayoutParams(new FrameLayout.LayoutParams(getWindowManager().getDefaultDisplay().getWidth(),
getWindowManager().getDefaultDisplay().getHeight()));
l.addView(i1);
setContentView(l);
}
}
Unfortunately, the bitMap is not being created properly. Is there anything I'm doing wrong?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…