We can use the matrix to shrink the bitmap we get so that our bitmap adapts to our mobile screen.
First, we need to get the size of our phone screen first.
WindowManager wm = (WindowManager) getcontext (). Getsystemservice (context.window_service); int width = Wm.getdefaultdisplay (). getwidth (); int height = Wm.getdefaultdisplay (). GetHeight ();
Then we construct a new matrix object and write a function of its own, as follows:
Public Bitmap Resizebitmap (Bitmap bitmap,int w,int h) {if (bitmap!=null) {int width = bitmap.getwidth (); int height = Bitmap. GetHeight (); int newwidth = W;int Newheight = h;float Scalewight = ((float) newwidth)/width;float ScaleHeight = ((float) NewH eight)/height; Matrix matrix = new Matrix (); Matrix.postscale (Scalewight, ScaleHeight); Bitmap res = Bitmap.createbitmap (Bitmap, 0,0,width, height, matrix, true); return res;} Else{return null;}}
So the bitmap object that we return through this function is the size of the screen that can fit our phone.
How Android uses the Bitmap+canvas adaptive screen