0

多くの人がこれと同様の問題を抱えていることは知っていますが、解決策が見つかりません。SurfaceView を拡張するカスタム ビューを作成しました。このビューは、次を使用すると完全に機能します。

setContentView(graphView);

ただし、Horizo​​ntalScrollView 内に埋め込む必要があります。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);

すると画面が真っ暗。上記のコードで多くのバリエーションも試しましたが、成功したものはありません。どこが間違っていますか?

4

2 に答える 2

0

これは実際にはこの問題を解決する方法ではないことがわかりました:

http://www.mail-archive.com/android-developers@googlegroups.com/msg45804.html

私の解決策は、SurfaceView を使用しないことです。代わりに、ビットマップに描画して、それをイメージビューに配置し、それを ScrollView 内に配置できます。

于 2011-07-26T08:51:37.053 に答える
0

問題なくxmlで取得できるはずです-スクロールビュー内のListView内にカスタムグラフビューを埋め込んでみてください。horizo​​ntalScrollView での私の経験では、コンテンツについて非常に厳選する傾向があります。それでもうまくいかない場合は、フレーム ビューに問題があるかどうかをテストしてみてください。水平スクロール ビューにボタンを追加して、それが表示されるかどうかを確認してください。そうでない場合は、フレームの表示に問題があり、カスタム コードとは関係ありません。

于 2011-07-25T14:51:07.687 に答える