私は少しハックを使用して、親の内部のビューを拡大し、RelativeLayout
左上から始まり、中央下で終わるようにしました。何かをRelativeLayout
それ自体の中心に配置することはできますが、同じポイントまで何かを伸ばすことはできないようです。
私の解決策は単純で、その中心に何かを配置し、親の実際の中心になるように1pxの寸法を与えRelativeLayout
ます。誤解しないでください。これは機能し、問題はまったくありませんが、これについてもっと良い方法があれば知りたいと思います。
私が話していることのグラフィカルな表現については、いくつかの画像を追加して説明します。
この最初の画像は、TextView
の中央にテキストなしで配置されてRelativeLayout
おり、幅を0dpにしました。これにより、次の画像でわかるように、その中心を基準にして何でも配置できます。私のポイントは、中央に追加のビューを追加する必要なしにそれを行うことができないというのは奇妙なことです。なぜなら、Layout to left of
またはのLayout to right of
ようなプロパティを見ることができるからです。 Layout to center of
ですから、シナリオは「まだ壊れていませんが、すぐに飛び出すのではないかと思います」という行にもう少し入っているかもしれません。一方、これが正しい方法であり、誰かが新しいことを学ぶのを手伝うなら、それは私にとってもうまくいきます。
答えられない質問をするのはなぜですか!?私はここで賞金を設定しています。
(私の判断では)これまでに提案された最も賢明なことは、わずかに少ない場合でも、メモリの消費量が少し少ないと思わLinearLayout
れるものに置き換えることです。View
だから私は@yorkwに感謝しています。これまで誰もこれを聞いていないことに驚いています。
私が実際に何を求めているのかについて誤解があるように思われるので、明確にするためだけに。親の幅/高さの半分を取るものは必要ありません。私はそれを参照点として使用する方法を求めていました(それは私がタイトルで言ったことです)ので、半分と重力を残す線形レイアウトを追加せずに中央の左側に画像を配置するなどのことができますまたは何でも。
アップデート
API 14以降、この種のハッキングにより適しSpace
た軽量のView
サブクラスが利用可能になりました。