我正在使用Android 2.1和Eclipse。如何覆蓋我的視圖中的畫布?
我已經定義了一個LinearLayout中與具有尺寸兩個部分組成:250×250
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams llp =
new llp.LayoutParams(250, 250);
meter1View = new MeterView(this, "Meter 1");
ll.addView(meter1View, llp);
meter2View = new MeterView(this, "Meter 2");
ll.addView(meter2View, llp);
ScrollView scrollView = new ScrollView(this);
scrollView.addView(ll);
setContentView(scrollView);
到目前爲止,一切都很好。我在仿真器屏幕上看到兩個垂直組件。
然而,在我的表視圖類中的onDraw畫布的尺寸爲480 800
@Override
protected void onDraw(Canvas canvas) {
int w = canvas.getWidth();
int h = canvas.getHeight();
Log.i(TAG, " onDraw, w: " + w + ", h: " + h);
}
我想畫布大小我模擬器的屏幕,這是大小爲250× 250,以便我可以將此畫布傳遞給繪圖例程。現在,我的繪圖例程在我的LinearLayout定義的250 x 250位圖之外繪製。
我意識到我可以通過平移畫布來使畫布繪製日常工作,但如果我可以用新畫布臨時覆蓋原始畫布,它會更乾淨。
我明白,我可以定義自己的帆布:
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
我怎麼能代替由View類與我的新畫布創建畫布? 任何幫助將不勝感激。
查爾斯