我想在Android中繪製圖形。我希望圖形按比例縮放到當前的屏幕大小,因此不用在常量中明確設置它們,而是獲得用於包含圖形的大小LinearLayout
。但是,存在一個問題,無法在活動的onCreate()
中獲取大小,因此我使用自定義LinearLayout並覆蓋onSizeChanged()
。我將它包含到佈局中:繪製圖形,無法看到生成的圖像
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"
我省略了尖括號。
在覆蓋的nSizeChanged()
中,讀取視圖的尺寸,然後按照許多圖形示例中的描述完成所有操作:創建位圖,傳遞給圖形繪製類,創建ImageView,設置位圖,然後添加到自定義LinearLayout。
問題是,圖形的圖像不可見。但是,如果我嘗試使用HierarchyViewer
檢查它,則圖像變得可見。如果我將代碼onSizeChanged()
剪切粘貼到活動的onCreate()
,則無法使用預設尺寸而不是測量尺寸,所有內容都會很好地顯示。
所以,我的問題是我做錯了什麼?我假設要麼在自定義onSizeChanged()
中使用了錯誤的上下文,要麼從這裏更新視圖是不可能的,我應該以某種方式將測量的維度傳遞給活動,並在某些位置附加位圖活動的方法。 雖然在上下文部分,我嘗試過使用所有可用的上下文,包括使用活動的上下文,但無濟於事。
如果需要,我會提供更多的代碼。