저는 간단한 사용자 정의 컨트롤을 android에 만들었고 배경 이미지를 배치했습니다. 컨트롤이 다른 크기 (즉,이 늘어 경우)에서 레이아웃에 배치 할 때 내가 특별히 문제에 봉착 :Android 사용자 정의보기에서 크기 조정에 몇 가지 문제가 있습니다.
나는 내가 알고있는 특정 위치와 크기로 사각형을 오버레이 할 원래 이미지의 픽셀 위치. 어떻게하면 내 통제하에이 일을 할 수 있을까요? 나는 이것이 9 패치라는 점을 감안할 때 불가능하다고 생각합니다. 가장 좋은 방법은 원본의 상단/왼쪽에서 백분율을 계산하는 것입니다. 그렇지 않으면 일부 부품이 늘어나고 일부는 그렇지 않습니다. I 생성자이 같은 이미지를 설정 한 사용자 컨트롤
- :
setBackgroundResource (R.drawable.buttonbt);
잘 작동하지만 원래는 onDraw 이벤트에 그려야했습니다. 예를 들어 속성 변경에 따라 변경하고 싶을 수 있습니다.
Bitmap b=BitmapFactory.decodeResource(getResources(), R.drawable.buttonbt);
canvas.drawBitmap(b, 0, 0, null);
그러나 경계 상자의 크기에 따라 크기가 조정되지는 않습니다. 크기 조정없이 원본 크기로 표시하려고하는 것입니다. 이전 방법이 더 좋았는지 여부에 관계없이 어떻게 할 수 있습니까?
감사합니다.
광고 1 해달라고 당신이 – pskink
광고 2 사용 drawBitmap과를 무슨 뜻인지 Matrix param, Matrix.rectToRect (- – pskink
)를 사용하여 행렬을 설정합니다. 예, 묘사하기 어렵습니다. 아마도 그림을 넣어야합니다. 기본적으로 컨트롤은 너비/높이 및 디스플레이의 밀도에 따라 늘어날 수 있습니다. . 사각형을 말하면서 특정 상대 오프셋으로 뷰를 겹치기를 원합니다.이 위치를 계산하는 방법 - 크기에 상관없이 같은 위치를 계산하는 방법. 더 좋아? –