안드로이드 개발 질문/답변
(글 수 45,052)
FramLayout에 이미지를 canvas를 이용해서 그렸는데요.
이미지가 가운데에 나와야하는데 왼쪽으로 붙어져 나옵니다.
canvas위에 그린 이미지는 위치 이동을 어떻게 하는지 궁금합니다.
View 상속 받아서 onDraw 오버라이딩 한부분 입니다.
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
Resources r = this.getResources();
Bitmap meterBack = BitmapFactory.decodeResource(r, R.drawable.meter6);
int w = meterBack.getWidth();
int h = meterBack.getHeight();
Rect src = new Rect(0,0,w,h);
Rect dst = new Rect(0,0,2*w,2*h);
canvas.drawBitmap(meterBack, src, dst, null);
super.onDraw(canvas);
}
xml부분 입니다.
<FrameLayout
android:id="@+id/meterLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF008800"
android:layout_weight="1"
>
<org.nexg.menu.MeterView
android:id="@+id/meterView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#e6e6fa"
android:layout_gravity="center"
/>
<ImageView
android:src="@drawable/needle1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</FrameLayout>



