答えて
これは、既存のアクティビティの上にオーバーレイを使用して行われます。ここで見つけたソースは、githubにあり、アンドロイドのstackexchange.com質問にあった概念証明を示すために、障害を抱えていて画面をスクロールできず、これを便利に行う方法を探していた人の質問をこれは、アクティビティの上にオーバーレイされたテキスト(実際にはボタン)をタップするだけで、最小の動きで「ページアップ/ページダウン」を表示するコードをまとめたものです。しかし、Androidとセキュリティの仕組みのせいで、スクロールイベントは現在実行中のアクティビティに注入できませんでした。
それが動作する方法はこれです、onCreate
活動からこの
WindowManager.LayoutParams layOutParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
必要とされているフラグがWindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
とWindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
です。
これは、タッチが確実に処理されることです。これは、タッチイベントが領域に当たったときにそれを監視し、それに応じて行動することを意味します。ビューのonTouch
イベントでの「聴く」ことで、それは次のとおりです。
LayoutInflater layOutInflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = layOutInflater.inflate(R.layout.myview, null);
myView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
....
}
});
例えば、
Button myButton = (Button)myView.findViewById(R.id.myButton);
Rect outRectHit = new Rect();
myButton.getHitRect(outRectHit);
は、今、私たちが判断する必要があり、そのボタンのウィジェットを使用して、そのmyview
レイアウト内のボタンを想像
float x = event.getX();
float y = event.getY();
if (x > outRectHit.left && x < outRectHit.right &&
y > outRectHit.top && y < outRectHit.bottom){
... Handle this accordingly
}
この短い要約E:onTouch
ハンドラ内で発生したタッチの境界の「衝突」、そのようなことをどのようなアクティビティのオーバーレイとして行うのかを説明します。
コードがデバッグされ、どのような図形や図形にも干渉がないことを確認してください。たとえば、アクティビティが実際にOpenGLゲームである場合はどうなりますか、どうしますか?
これは、何を監視する必要があるかを説明するためのものです。
Tooleap SDKをご覧ください。 通常のAndroidアクティビティをフローティングウィジェットに変える最も簡単な方法を提供します。
例えば、あなたがMyActivity
Intent intent = new Intent(context, MyActivity.class);
TooleapPopOutMiniApp miniApp = new TooleapPopOutMiniApp(context, intent);
Tooleap tooleap = Tooleap.getInstance(context);
tooleap.addMiniApp(miniApp);
と呼ばれる活動を持っているとしましょうMyActivityは今、他のアプリケーションの上に浮いウィジェットとして利用できるようになります。
- 1. Androidランチャー
- 2. 隠すAndroidのアプリケーションはランチャー
- 3. Androidランチャーの仕組みは?
- 4. Androidで別のランチャーとアクティビティアイコン
- 5. Androidランチャーを構築する
- 6. Androidランチャー3コードを改善する
- 7. android nougatランチャーでHotseat(アプリケーションドック)を削除
- 8. クロスプラットフォームのjvmランチャー?
- 9. ランチャーのアプリケーション名
- 10. ios/androidのランチャーの「名前」を変更する
- 11. このAndroidスタジオのGithubプロジェクトでランチャーを見つけよう
- 12. Monodroidクラッシュのホームスクリーン/ランチャー
- 13. Androidランチャーを透明にするためのヒント
- 14. ドッカーとランチャー
- 15. ランチャー、パブリックサブドメイン、nginx
- 16. セレクタとランチャーWP7
- 17. ランチャーIOSアプリ
- 18. エラーgraphlabランチャー
- 19. 二ランチャー活動
- 20. Anaconda ipython qtconsoleランチャー
- 21. Androidアイコンをホーム画面(ランチャー)に追加する
- 22. Android:異なるタイトル名とランチャー名を持つ
- 23. Androidでプログラムをランチャーからアプリケーションを削除する
- 24. Androidランチャーが起動していません
- 25. Androidランチャーをプログラムで非表示にする方法
- 26. ランチャーへのNavicatアイコンのロック
- 27. ランチャーexe in nuget package
- 28. Windows Phoneランチャーとチューザー
- 29. ランチャーと送信アクティビティのインテントフィルタ
- 30. ランチャーの作成方法
有望そうですね、それは無料ですか? –