У меня есть приложение, которое отображает некоторые данные графически. Он создает два вида для рисования графики и добавляет их в мой макет. Каждый вид показывает данные иначе путь, но каждый View реализует onSizeChanged() тот же:second 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 потерпит неудачу таким образом. Я хотел бы, чтобы у каждого растрового изображения было около половины области.
Заранее благодарим за разъяснения, что происходит!