問題タブ [android-overlay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android でのカスタム ダイアログ フラグメントのアニメーション
アニメーション化されたポップアップを実現するために、DialogFragment クラスを拡張するカスタム DialogFragment を使用しました。次に、オーバーレイ レイアウトを xml で設計し、ポップアップの読み込み中に追加しました。アニメーションを行う必要があったため、2 つのアニメーション xml ファイルを設計し、それを styles.xml に追加し、オーバーレイの読み込み中にアニメーションを追加しました。
オーバーレイ アニメーションを 3 か所で表示しています。それは完全に表示されます。つまり、蜂のアイコンから成長し、リスト項目のコンポーネントとして使用したり、画像ビューと一緒に使用したりすると、蜂のアイコンに消えます。しかし、VideoView または Exoplayer View と一緒に使用すると、アニメーションの開始点が x 軸では左にシフトし、Y 軸では上に移動します。
また、ポップアップとアニメーションは、Samsung Note Edge の以下のコードを使用して完全に機能しますが、Samsung Galaxy S5 および Nexus 4 では上記の問題が発生します。
また、アニメーションを使用しない場合、オーバーレイは3つの画面すべてでハチがいる正確な位置にあります。だから、アニメーションにエラーがあると思います。
私が書いたサンプルコードを提供しています。
カスタム ダイアログ フラグメント:
anim_in.xml:
anim_out.xml:
スタイル.xml:
ここで問題を解決するために誰かが親切に助けてくれますか?
ありがとう。
android - カメラ プレビューとして使用されている SurfaceView にカスタム ドローイングをオーバーレイする方法は?
私が欲しいもの:
ユーザーが認識できるように、正方形 (実際には少し複雑な形状ですが、簡単にするために正方形と言っています) をカメラ プレビューにオーバーレイするCamera
アクティビティ (つまり、カメラ プレビューを表示するアクティビティ)を作成したいと考えています。特定の正方形の実際のオブジェクトが、カメラのプレビューにオーバーレイされたその正方形の内側に配置されるように、カメラを配置する場所。
次の画像のカメラ プレビューに顔の形があるように、ユーザーは自分の顔をそこに置くことができます。
私の解決策:
私は を持っていてFrameLayout
、次にSurfaceView
カメラのプレビュー用にを持ちVectorDrawable
、シェイプをオーバーレイするために を考えました。FrameLayout
これは、Z オーダーの子VectorDrawable
が にオーバーレイされるようにするためSurfaceView
です。
それに関する問題:
アプリが API 11 以降と互換性がある必要があります。だから私は使用する必要がありますVectorDrawableCompat
。を使用するVectorDrawableCompat
には、AAPT フラグを設定する必要があります。- ソース
問題は、Web 上のどこでも、このフラグを設定する方法が Android Studio であるということです。(ここで説明した方法と同様) プロジェクトの build.gradle ファイルに数行追加します。
Eclipse でこのフラグを設定する方法がわかりませんでした。検索を続けた結果、Eclipse で Gradle を使用するために Eclipse Buildship プラグインをインストールすることになりました。このガイドに従いました。Android プロジェクトに Gradle ネイチャーを追加したときに、build.gradle
ファイルを取得しました。コードを貼り付けて AAPT フラグを有効にしましたが、問題はまったく解決しませんでした。
だから今、私は自分の仕事を達成するための代替方法を探しています. 使用せずにどうすればよいVectorDrawableCompat
か教えてください。
android - Android - ステータスバーのコンテンツを含むオーバーレイ画面
ステータスバーやナビゲーションバーを含む画面全体をオーバーレイするオーバーレイ画面を作りたいです。
私はグーグル/研究に数時間を費やしていますが、まだ運がありません。
これは私のコードです:
MainActivity.java (ランチャー):
activity_main.xml :
Main2Activity.java ( MainActivityで起動):
activity_main2.xml :
AndroidManifest.xml (android:theme="@style/Theme.Transparent"
追加のみ、残りは自動生成):
スタイル.xml:
起動時のスクリーンショットでは、ステータス バーとナビゲーション バーの両方を含む画面全体をオーバーレイすることに成功しましたが、ステータス バーのコンテンツ (時計、バッテリー ステータスなど) は消えていました。
オーバーレイ アクティビティを閉じた状態で押し戻すと、ステータス バーのコンテンツが戻ってきました。
私が欲しかったのは、コンテンツを削除せずにステータスバーをオーバーレイすることです.どうすればいいですか?
android - 「スクリーン オーバーレイが検出されました」エラーの原因となっているアプリを特定するにはどうすればよいですか?
通知が表示されているときにユーザーが許可を与えようとしていて、オーバーレイの問題が何であるかを正確に理解している場合は、Android の「画面オーバーレイが検出されました」というメッセージを既に読みました。
また、それをリクエストする方法と、現在実行中のアプリにオーバーレイを描画する権限があるかどうかを確認する方法も理解しています (!Settings.canDrawOverlays(this))。
許可要求がポップアップするたびにオーバーレイポップアップが表示され、ユーザーが私のアプリケーションにオーバーレイを描画する許可を与えたとしても、許可画面を通過できなかったため、私は自分のアプリを叱られていました。
掘り下げた後、問題は、一部のユーザーが画面で録音アプリを実行していたことでした。
問題は、これは私のアプリではないということです! これはオーバーレイとして実行される AZ スクリーン レコーダー (リンク) ですが、このポップアップが表示された時点でそれらが私のアプリにあるという事実のために、私は問題の責任を負っています。
オーバーレイとして何かを実行している他のアプリを確認する必要があることをユーザーに表示したいのですが、これを確認する方法がわかりません。
アプリケーションでオーバーレイを描画できるかどうかを確認できますが、他のアプリケーションを確認する方法がわかりません。
したがって、私の質問は、現在実行時にオーバーレイを実行しているアプリがあるかどうかをプログラムで確認する方法はありますか?もしそうなら、そのアプリのパッケージ名を見つけることができますか?
(追伸、私は問題のスクリーンレコーダーアプリに何の問題もありません。誰でもダウンロードしてテストできるようにリンクしたかっただけです)
android - Android はサービス オーバーレイを作成し、すべてのタッチ イベント データを傍受できますか?
こんにちは、スマートフォンで行うすべてのタッチ イベントをインターセプトする (他のアプリケーションをブロックしない) 透明なオーバーレイを作成しようとしています。特にスクロール イベントに関心があります。これはサービス クラスのコードです。
ただし、これでは ACTION_OUTSIDE タイプのモーションイベントしか取得できません。スクロールを追跡するには、すべてのイベントの配列が必要です。よろしくお願いします!