プログラミング・メモプログラミング・メモ2016年10月2016年10月11日[Android]ビットマップのアンチエイリアス前回の投稿と同じく、まーこれも書くほどのものではないんだが、ビットマップをdrawBitmap()で縮小すると、setAntiAlias()で有効にしていても効かない。drawBimap()で有効にするにはsetFilterBitmap()を有効にするとアンチエイリアスが効いてきます。macOSでメニューをいい感じにするwまー、書くほどのことでもないんだが、単純にメニューバーがあるJavaFXのアプリをmacOSで動かすとこんな感じになる。Macだと、こうなってほしいんだが。GestureDetectorとScaleGestureDetector別のブログで公開してたものです。一部をこっちのブログに移行しようと手動で(^^;)移行したものです。GestureDetectorとScaleGestureDetectorでピンチイン、ピンチアウト、タップやダブルタップに対応したときのメモです。OnDoubleTapListenerをインプリメントしておいてGesttureDetectorとScaleGestureDetectorの変数を宣言する。ViewのonTouchでは、まず、今、ピンチイン、ピンチアウト中かを保存しておいて、ScaleGestureDetectorのonTouchEventを呼び出し、ピンチイン、ピンチアウト中に入ったり、呼び出し前にすでに入っている場合は処理したことにして終了する。ピンチイン、ピンチアウト中でなかったらGestureDetectorのonTouchEventを呼び出し、タップやダブルタップなどの認識処理にまわすようにする。次に正しくタップやダプルタップを取るための各イベントでの処理を示します。trueを返さないと次のイベントが正しく発生しないようです。フリックで発生するイベント。シングルタップアップイベント。OnDoubleTapListenerのイベントで認識するので特何もしなくていい。ダブルタップのイベント。ここでダブルタップイベントの処理を行う。シングルタップのイベント。タップの処理をここで行う。ピンチイン、アウト中に発生する。ピンチイン、アウト開始時に発生する。ピンチイン、アウト終了時に発生する。カスタムビュー(コントロール?)まー、単純だ。基本、Viewを継承したクラスを用意して、onDrawをオーバーライドしてそこで引数で渡されるcanvasを使ってビューの中身を描画するだけだ。レイアウトエディタ(?)でこのビューを貼り付けるにはPaletteのAdvancedにある<view>をドラッグ&ドロップしてやると、ビューの一覧がでるのでカスタムビューのクラスを選んだOKを押せば配置できる。コントロールを非表示でいい感じにするwこんな感じにLinearLayoutにBUTTON1とBUTTON2を入れてある状態で、BUTTON2を非表示(setVisibility(View.INVISIBLE)する)にすると、こんな感じになる。(あれ?どっかで同じようなことを書いたようなwww)BUTTON2は左によってほしいんだけど・・・こんなときは、BUTTON1をsetVisibility(View.GONE)で非表示すると左による。ROMイメージを作ってみる。ファイルオープンダイアログを出す。