2012-04-15 6 views
1

나는 약간의 달력 이미지를 찍고 그 위에 날짜와 달을 쓰고 싶다. 이 목록보기에서 여러 번 표시됩니다, 그래서 그것을 할 수있는 최적의 방법을 찾고 있습니다.이미지에 텍스트를 쓰는 가장 좋은 방법은 무엇입니까?

ImageView image = (ImageView) findViewById(R.id.imageView2); 
try { 
    // Load the png image into a bitmap 
    Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.calendar_empty); 
    // Have to copy the bitmap so it is mutable 
    mBitmap = mBitmap.copy(Bitmap.Config.ARGB_8888, true); 
    // Create a canvas from the bitmap to draw on 
    Canvas canvas = new Canvas(mBitmap); 
    Paint paint = new Paint(); 
    paint.setColor(Color.BLACK); 
    paint.setTextSize(12); 
    paint.setAntiAlias(true); 
    canvas.drawText("Sept", 11, 26, paint); 
    paint.setTextSize(18); 
    canvas.drawText("29", 14, 42, paint); 
    // Display the results on the screen 
    image.setImageDrawable(new BitmapDrawable(this.getResources(), mBitmap)); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

답변

2

왜 그냥 이미지 뷰를 가지고 가고, 타이틀 오버레이로에 텍스트 뷰를 넣지 마십시오 수있는 레이아웃 컨테이너 내부 :

다음은 더 나은 방법이, 좋은 작품 이 - 예. RelativeLayout 또는 FrameLayout?

나는이 방식으로 이미지에 제목을 썼던 몇 개의 프로젝트를 가지고 있었지만,이 접근 방식에는 아무런 문제가 없었다.

+0

오버레이 방법을 사용하면 디스플레이의 밀도를 얻고 그에 따라 모든 계산을 확장해야합니까? 위의 방법으로 안드로이드 시스템은 이미지의 크기를 자동으로 조정합니다. – pcm2a

+0

TextView 위젯의 텍스트의 실제 크기가 화면 밀도가 다른 여러 장치에서 동일하게 유지됩니까? 그렇다면 TextView가이를 처리합니다. dip에서 textSize를 정의 할 수 있습니다. –

+0

이미지 뷰의 텍스트 위치와 그 위치. 예를 들어 100px x 100px 이미지는 화면 밀도에 따라 70px 또는 150px가 될 수 있습니다. 내 텍스트 X, Y 픽셀을 배치하고 모든 해상도에서 완벽하게 정렬해야합니다. – pcm2a

관련 문제