ジェスチャーオーバレイビューの子供(レイアウト)を、そのビューにタッチした位置に追加するにはどうすればいいですか?位置の座標に合わせて配置することは可能ですか?GestureOverlayViewに子供を追加して、アンドロイドで触れたポイントを教えてください。
10
A
答えて
1
API 11(Android 3.0.x)以上の場合:View.setX()
とView.setY()
を使用できます。詳細は、API docsを参照してください。
すべてのAPIバージョン:RelativeLayout
とRelativeLayout.Layout
を使用できます。具体的には、ViewGroup.MarginLayoutParams
から継承したフィールドにmarginsを設定します。
RelativeLayout parentLayout = (RelativeLayout) findViewById(R.id.relative_layout);
LinearLayout newLayout = new LinearLayout(this); // or some other layout
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
// You can enter layout absolute dimensions here instead of 'wrap_content'.
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
// Set your X and Y position here for new layout.
layoutParams.setMargins(100 /*left*/, 200 /*top*/, 0 /*right*/, 0 /*bottom*/);
parentLayout.addView(newLayout , layoutParams);
0
public boolean onTouchEvent(MotionEvent event) {
TextView tv=new TextView(this);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
x = event.getX();
y = event.getY();
RelativeLayout gh = (RelativeLayout) findViewById(R.id.relative1);
RelativeLayout.LayoutParams para = new RelativeLayout.LayoutParams(150, 50); //Size of textView
para.leftMargin = (int) x; //location of textview
para.topMargin = (int) y;
tv.setLayoutParams(para);
tv.setText("You have Touched at "+x+" ,"+y);
change();
gh.addView(tv);
}
関連する問題
- 1. Swingアプリケーションに触れる方法を教えてください。
- 2. ポイントから消える方法を教えてください。
- 3. スクロールビューでイメージに触れる方法を教えてください。
- 4. カスタムセッションコントローラのサインインチェックインの追加方法を教えてください。
- 5. VB.NETでオーバーロードされた 'And'演算子の例を教えてください。
- 6. TypeScriptにプロパティの動的追加について教えてください。
- 7. matplotlib.pyラベルを.clabelで追加する方法を教えてください。
- 8. mavenビルドをクラスパスに追加する方法を教えてください。
- 9. Android:SQLiteデータベースにタイムスタンプを追加する方法を教えてください。
- 10. アプリケーションにJSPファイルを追加する方法を教えてください。
- 11. Javaライブラリをmonodroidに追加する方法を教えてください。
- 12. Paperclip - ファイル名にタイムスタンプを追加する方法を教えてください。
- 13. IEに適したカスタマイズ方法を教えてください。
- 14. ロックなしでActive Record Objectに触れる方法を教えてください。
- 15. iOS-プロットされたポイントでのみクリックを許可する方法を教えてください。
- 16. cocos2d-androidを使用してアンドロイドでEditTextを追加してください。
- 17. 次の参加方法を教えてください。
- 18. エミュレータがアンドロイドでインターネットにアクセスする方法を教えてください。
- 19. cancanを使用してrolifyを追加して作成する方法を教えてください。
- 20. CSS - 子供を容器の中に入れてください
- 21. インストールしたモノトゥッチのバージョンを教えてください。
- 22. grails - 汚れていれば教えてください。
- 23. PHP APC、教えてください
- 24. 私が追跡しているリモートブランチが削除されたときを教えてください
- 25. 削除カスケードと更新時にphpmyadminを使用して追加する方法を教えてください。
- 26. PHPでPOP電子メールを読む方法を教えてください。
- 27. mysqlクエリに列を追加して値を与えてください
- 28. 追加してください。ハイライトされたコードをキャッチしてください。
- 29. Backbone.jsの使い方について教えてください。
- 30. セキュアなLDAPサーバーに接続する方法について、Javaプロのポイントを教えてください。
あなたは私のソリューションを使用してみましたかあなたがあなた自身を発見した:私はそれがこのような何かを行くだろうと思いますか? – vArDo