入門編-1.ImageView、Surface View、カスタムView図面

2295 ワード

入門編-1.ImageView、Surface View、カスタムView図面Androidプラットフォームで1枚の画像を描き、少なくとも3つの異なるAPI、ImageView、Surface View、カスタムViewを使用します.
  • ImageView描画画像
  • これはAndroid開発をしたことがある人は、どのように描くか知っているに違いない.簡単:
    
    Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");
    
    imageView.setImageBitmap(bitmap);
    
    

    簡単にインタフェースで私たちが描いた画像を見ました.
  • Surface View描画画像
  • これはImageViewが画像を描くより少し複雑です.
    SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface);
    surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
    
        @Override
        public void surfaceCreated(SurfaceHolder surfaceHolder) {
    
            if(surfaceHolder ==null) {
                return;
            }
    
            Paint paint =new Paint();
            paint.setAntiAlias(true);
            paint.setStyle(Paint.Style.STROKE);
    
            Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");//   bitmap
            Canvas canvas =     surfaceHolder.lockCanvas();//      surfaceView   
            canvas.drawBitmap(bitmap, 0, 0, paint);//      
            surfaceHolder.unlockCanvasAndPost(canvas);//                
        }
    
        @Override
    
        public void surfaceChanged(SurfaceHolder surfaceHolder,inti,inti1,int i2) {
    
        }
      
        @Override 
        public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
    
        }
    
    });
    
  • カスタムViewペイント画像
  • これはカスタムビューを描く経験があるので簡単にできますが、Androidカスタムビューを描くという知識も簡単に整理しました.
    public class CustomView extends View {
        Paint paint = new Paint();
        Bitmap bitmap;
        public CustomView(Context context) {
            super(context);
            paint.setAntiAlias(true);
            paint.setStyle(Paint.Style.STROKE);
            bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");  //   bitmap
        }
    
      @Override
      protected void onDraw(Canvas canvas) {
          super.onDraw(canvas);
          //     onDraw          
        
          if (bitmap != null) {
              canvas.drawBitmap(bitmap, 0, 0, paint);
          }
       }
    }
    

    注意:権限を忘れないでください.そうしないと、成功は示されません.