【Java】画面にフィルターを設定する方法
(」・ω・)こんにちは~
大坂です。
LockPickerがアンドロイドアプリ週間ランキング50(2013年9月30日~10月6日)で今週も34位にいました!
来週にはいなくなりそうですね(´・ω・`)
さて、今週の題材です。
覗き見防止なんかにも使えるかもしれない画面フィルターのお話です。
まずはフィルター用のxmlの準備。名前は「filter.xml」
ltImageViewを一つ用意するだけです。
続いてJavaのコード。常に画面にフィルターを設定し続けるのでサービスを使用します。
これでフィルター自体は設定完了ですが、
「WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY」を使用するには「AndroidManifest.xml」に以下のパーミッションの設定が必要です。
そのほか注意点です
①重ねてほかの画像を設定する場合やサービス終了時にはWindowManagerにて「removeView(view)」を実行しないとどんどん重なってしまいます。
②「WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY」を使用するとapkから直接アプリをインストールできなくなる(インストールボタンが押せなくなる)ので、アプリとして公開する場合は注意書きやトーストを出して上げると親切ですかね。
今週はここまでです。
暑いのも明日でやっと終わるみたいですね。平日最後の暑い日なので帰りにビールでも飲みましょう~(ぇ
ではでは、また来週(´・ω・)ノシ
大坂です。
LockPickerがアンドロイドアプリ週間ランキング50(2013年9月30日~10月6日)で今週も34位にいました!
来週にはいなくなりそうですね(´・ω・`)
さて、今週の題材です。
覗き見防止なんかにも使えるかもしれない画面フィルターのお話です。
まずはフィルター用のxmlの準備。名前は「filter.xml」
<?xml version="1.0" encoding="utf-8"?> |
ltImageViewを一つ用意するだけです。
続いてJavaのコード。常に画面にフィルターを設定し続けるのでサービスを使用します。
// サービスを継承したクラス |
これでフィルター自体は設定完了ですが、
「WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY」を使用するには「AndroidManifest.xml」に以下のパーミッションの設定が必要です。
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> |
そのほか注意点です
①重ねてほかの画像を設定する場合やサービス終了時にはWindowManagerにて「removeView(view)」を実行しないとどんどん重なってしまいます。
②「WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY」を使用するとapkから直接アプリをインストールできなくなる(インストールボタンが押せなくなる)ので、アプリとして公開する場合は注意書きやトーストを出して上げると親切ですかね。
今週はここまでです。
暑いのも明日でやっと終わるみたいですね。平日最後の暑い日なので帰りにビールでも飲みましょう~(ぇ
ではでは、また来週(´・ω・)ノシ
« 【Unity】Unity&Orthelloによる2Dゲーム作成⑤ | 【Unity】NGUIの基本操作その2 »
コメント
| h o m e |