2011-08-10 8 views
0

カスタムビュー内で2D図面を使用して遊んでいます。これまでのところ、私は必要なものを描いています(配列からのポイントデータ)が、図面の縮尺を変えてスクリーンを越えて拡大できるようにしたいです(1画面幅あたり1秒のデータ)。私が描画に使用しているメソッドは、getHeightgetWidthに依存して、画面内の情報の境界を設定します。私はonDrawのキャンバスをいくつかの画面幅に(データの時間に依存して)拡張するために画面の幅を使用しています。カスタムビューのレイアウトヘルプ

私は水平方向にスクロールして、ズームのような機能をサポートする描画方法を見つけることができませんでした...これを行う簡単な方法はありますか? ScrollViewは水平方向には行かないので、画面を越えてしまえばちょうど終了します。私のレイアウトは、これまで

<HorizontalScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
    > 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
     > 
      <view class="com.box.sand.SandGraph$GraphView" 
       android:id="@+id/graph" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
      /> 
     </LinearLayout> 
    </HorizontalScrollView> 

ですが、私はこれを入れたときに、私の見解のonDrawでのが呼ばれることはありません飽きません。

答えて

0

This may solve your problem

私はズーム機能を持っているかどうかは疑いがありますが、これを使うことを求めている残りの部分を実装できるはずです。

EDIT:

次のように階層は行くだろう:

<HorizontalScrollView ... > 
    <LinearLayout android:orientation="horizontal" > 
     <Content goes here /> 
    </LinearLayout> 
</HorizontalScrollView> 
+0

私はこれを使用しようとしていたし、それは何も表示されませんでした、この中に包まれていた私のビュー内の 'getHeight'でしたしかし、私はこのクラスを深く掘り下げるつもりです。 – Nicholas

+0

単一の子として使用しているLinearLayoutがandroid:orientation = "horizo​​ntal"に設定されていることを確認する必要があります。また、このビューの子に対して1つのレイアウトを使用していることを確認してください。 – Codeman

+0

私はHorizo​​ntalScrollViewで私のビューをラップし、そのHSVをLinearLayoutに入れますか? – Nicholas

関連する問題