多くの人がこれと同様の問題を抱えていることは知っていますが、解決策が見つかりません。SurfaceView を拡張するカスタム ビューを作成しました。このビューは、次を使用すると完全に機能します。
setContentView(graphView);
ただし、HorizontalScrollView 内に埋め込む必要があります。xml でこれを試してみると、次のようになります。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<com.stuff.graph.GraphView
android:id="@+id/graph"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</HorizontalScrollView>
</FrameLayout>
その後、致命的な例外が発生し、アプリケーションが閉じます。
これをプログラムで解決しようとすると、次のようになります。
graphView = new GraphView(this);
graphView.setVisibility(View.VISIBLE);
myScrollView = new HorizontalScrollView(this);
graphView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myScrollView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myScrollView.addView(graphView);
setContentView(myScrollView);
すると画面が真っ暗。上記のコードで多くのバリエーションも試しましたが、成功したものはありません。どこが間違っていますか?