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()
에서 틀린 컨텍스트를 사용하고 있거나 거기에서 뷰를 업데이트 할 수 없다는 가정을 했었는데 측정 된 차원을 액티비티에 전달해야하고 일부에서는 비트 맵의 첨부를 수행해야한다. 활동 방법의 컨텍스트 부분에서 필자는 활동의 컨텍스트 사용을 포함하여 사용 가능한 모든 컨텍스트를 사용하려고 시도했지만 아무런 소용이 없었습니다.
필요한 경우 더 많은 코드를 제공합니다.