私はいくつかのデータをグラフィカルに表示するアプリを持っています。グラフィックを描画する2つのビューを作成し、それらをレイアウトに追加します。各ビューには、データは異なる方法を示していますが、各ビューは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になります。 第2のが0の高さを取得すると、createBitmap()が失敗します。上記の呼び出しの順序を逆にすると、graphView1はそのように失敗します。私はそれぞれのビットマップが約半分の領域を持つようにしたいと思います。
おかげさまで、何が起こっているか説明してくれてありがとう!