336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
사실 Canvas나 Bitmap은 안드로이드 공부를 하면서 제대로 본 적이 없어서...
이런 내용이 나올때는 그냥 지나쳤는데.. 이제는 한번쯤 봐둬야 할 거 같아서
소스로 구현하고 주석으로 설명을 달았습니다.
필요하신 분은 참고 하시면 됩니다.
package com.example.ericu.canvastest;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
protected class MyView extends View {
public MyView(Context context){
super(context);
}
// View의 onDraw()메소드가 자동으로 호출됨
public void onDraw(Canvas canvas){
// Canvas는 View위에 그림을 그릴 수 있는 도화지
// Paint 객체로 그림을 그린다.
Paint paint = new Paint();
canvas.drawColor(Color.BLACK); // Canvas(도화지)의 색 설정
canvas.drawPoint(10,10,paint); // Canvas 위치 지정
paint.setColor(Color.BLUE);
canvas.drawLine(20,10,200,50,paint); // 선 그리기
// Bitmap 사용(비트맵은 고화질 그림을 load할 때 쓰인다)
// Bitmap 은 덩치가 큰 데이터 이므로, onCreate에서 미리 읽어두면 좋다.
Resources r = getResources();
BitmapDrawable bitmapDrawable = (BitmapDrawable)r.getDrawable(R.drawable.plane);
Bitmap bitmap = bitmapDrawable.getBitmap();
canvas.drawBitmap(bitmap,50,50,null);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView myView = new MyView(this);
setContentView(myView);
}
}
'IT > Android' 카테고리의 다른 글
[이론정리]01.SurfaceView (0) | 2016.10.16 |
---|---|
[안드로이드/Android] apk 파일 생성 (0) | 2016.07.17 |
[안드로이드] 안드로이드 마켓에 앱 등록 (0) | 2016.07.10 |
[안드로이드] EditText 포커스 없애기 (1) | 2016.07.03 |
안드로이드 Selector 속성 (0) | 2016.06.29 |