答えて
これは、既存のアクティビティの上にオーバーレイを使用して行われます。ここで見つけたソースは、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. ランチャーのアプリケーション名
- 4. クロスプラットフォームのjvmランチャー?
- 5. Monodroidクラッシュのホームスクリーン/ランチャー
- 6. 二ランチャー活動
- 7. セレクタとランチャーWP7
- 8. ランチャーIOSアプリ
- 9. Androidランチャーを透明にするためのヒント
- 10. Windows Phoneランチャーとチューザー
- 11. Androidランチャーが起動していません
- 12. Android:異なるタイトル名とランチャー名を持つ
- 13. Androidでプログラムをランチャーからアプリケーションを削除する
- 14. Androidランチャーをプログラムで非表示にする方法
- 15. ランチャーの作成方法
- 16. ランチャーと送信アクティビティのインテントフィルタ
- 17. ランチャーとして入れるもの:ランチャーのお気に入りのクラス名
- 18. Androidアプリ名がランチャーのアクティビティ名と同じなのはなぜですか?
- 19. Androidランチャーは起動しません(私のXMLをチェックしてください)
- 20. GoランチャーのようなページングアニメーションEx
- 21. ランチャーを取得するアンドロイドアプリケーションのアクティビティ名
- 22. ランチャーはAndroidで壁紙を描画する責任はありますか?
- 23. Google App EngineのランチャーPythonのパス私はGoogle App EngineのSDKをインストールして、ランチャーを実行すると
- 24. ランチャー名とタイトル名が異なる
- 25. webappランチャーをApple Storeに送信
- 26. ランチャー2ソースコードを取得しますか?
- 27. ランチャーがインストールされているVisualVMランチャーを使わずにEclEmmaでユニットテストを起動する方法
- 28. アプリの最初の起動時に「使用方法」画面(Goランチャーなど)を作成する方法(Android)
- 29. 自分のAndroidアプリ/ apkをランチャーとして使用する/ホーム画面の置き換え
- 30. Eclipse Androidランチャーは、自分のアプリケーションではなくホーム画面を表示します。
有望そうですね、それは無料ですか? –