タグ

ブックマーク / ichitcltk.hustle.ne.jp (6)

  • グラフィックス(7)-Drawableによる描画 - 愚鈍人

    抽象クラスDrawableを継承したクラスを使って、図形を描画する事もでできます。 Drawableクラスを継承したクラスには様々なものがあり、正直なところ、把握しきれていません。 ここでは、とりあえず、ShapeDrawableとBitmapDrawableを用いた図形の描画について、述べる事にします。 Drawableオブジェクトを使うと、図形をオブジェクトとして、どの図形も同じように、アクセスする事ができます。 例えば、どの図形も同じようにsetBoundsメソッドを使って、大きさを自由に伸縮できます。 ShapeDrawableとBitmapDrawable ShapeDrawableを使うと、Shapeクラスを継承したクラスの図形を描画する事ができます。 Shapeを継承したクラスには、以下のものがあります。 RectShape 矩形図形を示す。 RoundRectShape 角

  • ダイアログは永遠に(2) - ダイアログとアクティビティ - 愚鈍人

    今回は、ダイアログクラス全般についての話題を。 も~っと素直に,も~っと自由に、そのままのDialogクラスでいて AlertDialogクラスではなく、AlertDialogクラスのスーパクラスであるDialogクラス そのもの使って、ダイアログを表示する事もできる。 前回、AlertDialogによって実装した「カスタムダイアログを表示」のサンプルをDialogクラスを使って実現してみる。 プログラムは以下のようになる。 ダイアログのレイアウト用のxmlファイルは、前回と同じものをそのまま使っている。 AlertDialogと異なり、setViewメソッドのかわりにsetContentViewメソッドを使って、 アクティビティのようにコンテンツビューに、Viewオブジェクトを指定する。 AlertDialogクラスは、 安直に使う事ができるダイアログであったが、ビルダークラスを使う事が

    ダイアログは永遠に(2) - ダイアログとアクティビティ - 愚鈍人
  • ListViewとListActivity(3)-応用編 - 愚鈍人

    今回は、ListViewとAdapterクラスを組み合わせた、いろいろなパターンについてみていきます。 プログラムはListViewウィジェットを使って書かれていますが、これらはすべて、ListActivityを使って実現する事もできます。 BaseAdapterクラスを拡張してリスト項目のレイアウトを自由にカスタマイズする。 BaseAdapterは、ArrayAdapterクラスのスーパクラスです。 BaseAdapterを継承したクラスには、ArrayAdapterの他にもCursorAdapter, SimpleAdapter等があります。 BaseAdapterクラスは、他のAdapterクラスの基となるクラスです。 このBaseAdapterクラスを拡張して、独自のAdapterクラスを定義して、getViewメソッドをオーバライトすることで、 リスト項目のレイアウトを自由にカ

    ListViewとListActivity(3)-応用編 - 愚鈍人
    kimukou_26
    kimukou_26 2012/08/27
    リストViewのカスタマイズ
  • グラフィックス(9)-描画領域のクリップ - 愚鈍人

    描画領域をクリップすると、クリップされた領域のみが描画対象になります。 クリップする領域を指定するCanvasクラスのメソッド 以下のCanvasクラスのメソッドを使って、クリップする領域を指定します。 boolean clipRect(float left, float top, float right, float bottom) float型の引数left, top, right, bottomで指定された矩形領域を、Region.Op.INTERSECTでクリップします。 boolean clipRect(float left, float top, float right, float bottom, Region.Op op) float型の引数left, top, right, bottomで指定された矩形領域を、Region.Opの指定に従ってクリップします。 boolea

    グラフィックス(9)-描画領域のクリップ - 愚鈍人
    kimukou_26
    kimukou_26 2012/08/27
    clipRect UNIONで良いのかな?差分画面更新。DIFFERENCEだとチラつく
  • グラフィックス(6)-Bitmapの描画とMatrixの操作 - 愚鈍人

    drawBitmapメソッドの簡単なサンプル CanvasクラスのdrawBitmapメソッドを使って、Bitmapを描画する事ができます。 以下に、drawBitmapメソッドを使ってBitmapを描画する、簡単なサンプルを示します。 このプログラムを実行するには、res/drawableデレクトリに、画像ファイルsample.JPGが保存されている必要があります。 画像ファイルは、JPGだけでなくBMP,PNG,GIFも表示可能なようです。 BitmapFactory.decodeResourceメソッドは、res/drawableデレクトリの画像ファイルを、Bitmapオブジェクトとして取得するメソッドです。 drawBitmapメソッドは、CanvasにBitmapオブジェクトを描画するメソッドで、引数の意味については、次の「drawBitmapメソッドのオーバロードメソッド」を参

    グラフィックス(6)-Bitmapの描画とMatrixの操作 - 愚鈍人
  • グラフィックス(2)-SurfaceViewによる描画 - 愚鈍人

    「グラフィックス(1)-Viewクラスへの描画」 では、グラフィックの描画にViewクラスを使っていましたが、これをSurfaceViewクラスを使って実現する事もできます。 SurfaceViewは、Viewクラスを継承したクラスですが、Viewクラスよりも高速に描画ができ、ゲームプログラミング等に適しています。 通常のウィジェットと違い、別スレッドで直接GUI操作をおこなう事もできます。 今回は「グラフィックス(1)-Viewクラスへの描画」で紹介した、リスト1~リスト3のプログラムを、 SurfaceViewで実現するにはどのようにしたらよいか、についてみていきます。 SurfaceViewによるグラフィックスの基形-静止した画像の描画 「グラフィックス(1)-Viewクラスへの描画」のリスト1では、 Viewを使って、静止した画像を描画していましたが、これをSurfaceView

  • 1