LinearLayout에 사용자 정의 뷰를 추가 할 때 다른 크기의 캔버스를 표시하고 캔버스의 크기를 설정하려고하므로 캔버스의 비트 맵 크기를 동일하게 유지하고 싶습니다. 비트 맵 객체. 코드의캔버스 크기 설정 - Android
부 :
public class TESTActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
l.setOrientation(1);
Button b1 = new Button(this);
Button b2 = new Button(this);
View mV = new MyView(this);
l.addView(b1);
l.addView(b2);
l.addView(mV);
setContentView(l);
}
public class MyView extends View {
public MyView(Context c) {
super(c);
mBitmap = Bitmap.createBitmap(480, 300, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
...
}
...
}
}
그러면 Canvas의 색상이 비트 맵과 다른 이유는보기 크기가 더 커지기 때문입니다. 크기를 테스트하기 위해 onSizeChanged를 재정의하고 너비 480 및 높이 536, 내 비트 맵 480x300에 대한 값을 제공합니다. 뭐가 잘못 되었 니? 감사 –