6

私はRelativeLayout(私は結婚していない)と2つTextViewのを持っています。最初の下部をその親の中心に合わせTextView、2番目の上部をそのTextView親の中心に合わせてください。

ここに画像の説明を入力してください

上の写真の親の(垂直)中央に緑色の線を入れました。TextViewsは現在正確に正しい位置にありますが、これを行ったのは、以下で説明するように、マージンを使用してそれらを親に合わせ、親のサイズを知っているためです 。

さまざまな理由で、1つだけを使用しTextViewて中央に配置することはできません。また、親の高さがわからないので、それぞれを親の上下に揃えたり、下/上にマージンを置いて中央に配置したりすることはできません。

私はまたView、高さの半分を占めて、invisibleパーセントlayout_heightをとらない別のものを試してみました(または少なくともそれは私にエラーを与えました)。

これをどのように達成できるかについてのアイデアはありますか?

2つTextViewを別のレイアウト内に配置し、その中心自体を配置する必要がありますか?

4

2 に答える 2

21

親の中央に配置され、アンカーとして機能する高さ0のビューを作成します。(この属性android:layout_centerVertical="true"を使用します。)一方のテキストビューをアンカーの上に配置し、もう一方をアンカーの下に配置します。

于 2012-12-19T17:46:39.480 に答える
2

以前、2つのTextViewを内部に持つ垂直LinearLayoutを使用して、この問題を解決しました。

ps.:Androidデザインガイドラインhttp://developer.android.com/design/patterns/pure-android.html特定のポイントDon't use right-pointing carets on line items。あなたがしているのは広告申込情報ではないかもしれませんが、そうである場合は、それを指摘するだけです。

于 2012-12-19T17:53:41.917 に答える