To draw a bitmap to a view, you must use the Android. Graphics. Canvas and Android. Graphics. Bitmap classes. The method is very simple. In the view, reload the ondraw (canvascanvas) method, and then draw it on the screen using the canvas. drawbitmap () method.
Code:
Public class viewactivity extends activity {/** called when the activity is first created. * // @ override public void oncreate (bundle savedinstancestate) {super. oncreate (savedinstancestate); setcontentview (New myview (this);} public class myview extends view {private bitmap mbitmap; private int mscreenwidth; private int mscreenheight; Public myview (context) {super (context); initialize (); } Private void initialize () {displaymetrics dm = getresources (). getdisplaymetrics (); mscreenwidth = DM. widthpixels; mscreenheight = DM. heightpixels; // bitmap BMP mbitmap = (bitmapdrawable) getresources (). getdrawable (R. drawable. show )). getbitmap (); // mbitmap = bitmap. createscaledbitmap (BMP, mscreenwidth, mscreenheight, true) ;}@ override protected void ondraw (canvas) {// super. ondraw (canva S); // Of course, if there are other elements to draw on the interface, just write this sentence. Canvas. drawbitmap (mbitmap, 0, 0, null );}}}
Source image:
Display Results in the program:
Now let's do something:
The source image is directly painted on the screen without any processing. We try to stretch the image to fill the screen. (The desktop is tiled, stretched, and centered)
Code:
Public class viewactivity extends activity {/** called when the activity is first created. * // @ override public void oncreate (bundle savedinstancestate) {super. oncreate (savedinstancestate); setcontentview (New myview (this);} public class myview extends view {private bitmap mbitmap; private int mscreenwidth; private int mscreenheight; Public myview (context) {super (context); initialize (); } Private void initialize () {displaymetrics dm = getresources (). getdisplaymetrics (); mscreenwidth = DM. widthpixels; mscreenheight = DM. heightpixels; bitmap BMP = (bitmapdrawable) getresources (). getdrawable (R. drawable. show )). getbitmap (); mbitmap = bitmap. createscaledbitmap (BMP, mscreenwidth, mscreenheight, true) ;}@ override protected void ondraw (canvas) {// super. ondraw (canvas); // Of course, if the interface There are other elements to draw, just write this sentence. Canvas. drawbitmap (mbitmap, 0, 0, null );}}}
Is it stretched? It's full of the screen.
References:
Http://chroya.iteye.com/blog/710210