3
我有一個應用程序,它以圖形方式顯示一些數據。它創建兩個視圖來繪製圖形並將它們添加到我的佈局中。每個視圖顯示了數據不同的方式,但每個View實現onSizeChanged()相同:秒onSizeChanged獲取高度爲零
protected void onSizeChanged(int curw, int curh, int oldw, int oldh) {
if (bitmap2 != null) {
bitmap2.recycle();
}
canvas2= new Canvas();
bitmap2 = Bitmap.createBitmap(curw, curh, Bitmap.Config.ARGB_8888);
canvas2.setBitmap(bitmap2);
}
的意見正是如此調用:
LinearLayout myLayout = (LinearLayout)findViewById(R.id.revlay);
GraphView1 graphView1 = new GraphView1(this, theEventArrayList);
myLayout.addView(graphView1);
GraphView2 graphView2 = new GraphView2(this, theEventArrayList);
myLayout.addView(graphView2);
始終將第一onSizeChanged()該被稱爲高度爲652,寬度爲480; 秒得到0的高度,這導致createBitmap()失敗。如果我顛倒了上述調用的順序,那麼graphView1會以這種方式失敗。我希望每個位圖都有大約一半的面積。
在此先感謝您解釋發生了什麼!