私はAndroidでグラフを描こうとしています。グラフを現在の画面サイズに拡大したいので、定数で明示的に設定するのではなく、グラフを格納することを意図したLinearLayout
のサイズを取得します。しかし、アクティビティのonCreate()
でサイズを取得できないという問題があります。したがって、オーバーライドされたonSizeChanged()
のカスタムLinearLayoutを使用します。グラフを描くと、結果の画像が見えません
view class="com.nnevod.loggraph.graph$GraphDisplayLayout"
android:layout_height="fill_parent"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_weight="1"
android:background="@color/White"
ここでは角括弧を省略しています。
オーバーレイされたo nSizeChanged()
では、ビューの寸法が読み取られ、多くのグラフの例で説明されているようにすべてが行われます。ビットマップが作成され、グラフ描画クラスに渡され、ImageViewが作成されます。ビットマップに変換され、カスタムのLinearLayoutに追加されます。
問題は、グラフの画像が表示されないことです。しかし、HierarchyViewer
で検査しようとすると、イメージが表示されます。 onSizeChanged()
のコードをアクティビティのonCreate()
に切り取って貼り付けた場合、測定された寸法ではなく既定の寸法が使用されますが、すべてがうまく表示されます。
私の質問は間違っているのですか?私はカスタムonSizeChanged()
で間違ったコンテキストを使用しているか、そこからビューを更新することができないと仮定していました。測定された寸法を何らかの形でアクティビティに渡して、ビットマップの添付ファイルをアクティビティのメソッドの コンテキストの部分では、アクティビティーのコンテキストの使用を含め、使用可能なすべてのコンテキストを無駄に使用しようとしましたが、
必要に応じて、より多くのコードを提供します。