我想在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()
中使用了错误的上下文,要么从这里更新视图是不可能的,我应该以某种方式将测量的维度传递给活动,并在某些位置附加位图活动的方法。 虽然在上下文部分,我尝试过使用所有可用的上下文,包括使用活动的上下文,但无济于事。
如果需要,我会提供更多的代码。