2012-05-04 12 views
3

内部で動作していない私は、次のコードを持っている:layout_gravityはのLinearLayout

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="0dp" 
     android:layout_height="150dp" 
     android:layout_weight="3" 
     android:inputType="textMultiLine" > 
    </EditText> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:layout_weight="1" 
     android:text="@string/new_post_txt_description" /> 
</LinearLayout> 

どうやらandroid:layout_gravity="top"アップにTextViewを移動しません。誰もそれを達成する方法を知っていますか?

P.S

私はRelativeLayoutの使用に関するいくつかのアイデアを見ましたが、私の場合、私は隣同士になるとの例のように重み属性を使用するためのコントロールの両方が必要です。

ありがとうございます!重力セット:これまでのTextViewを変更

+0

については

。 'layout_toRightOf'属性を使用してください。私はいつも、相対レイアウトがすべての中で最も強力であることを発見しました。 – Urban

+0

ありがとう、私は試してみるだろうが、どのくらいの相対的なスペースがすべてのコントロールは、その行を取るかを決定する必要がありますか? – Dimkin

+0

あなたの質問はわかりません。あなたは各項目がどれくらいのスペースを取るか心配する必要はありません。要素の右/左にする要素IDを指定します。 – Urban

答えて

9

が私のために

<TextView 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:gravity="top" 
    android:layout_weight="1" 
    android:text="TEST" /> 

を働いた

アンドロイドこれは、重力の代わりlayout_gravityを利用していますが、TextViewのの高さはfill_parentに設定されているので、それは同じ効果がありますビューの内容の重力 android:layout_gravityは、その親にViewまたはLayoutの重力を設定します。

+0

ありがとう!それは助けになった! – Dimkin

+0

'android:gravity'を使ってLinearLayoutのテキストビューを中央に配置しましたが、私の場合はwidthが' match_parent'になっていました。 – gnB

+0

これは良いハックですが、なぜlayout_gravityが機能しないのですか?バグか何かありますか? –

3

LinearLayoutの向きを水平に設定します。すなわち

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

線形レイアウトの目的はすべて、方向に基づいてサブビューが順番に来ることです。私は既定の方向性が垂直だと考えます。それらの下にさらに2つのサブビューを追加する必要がある場合は、水平方向に別のLinearLayoutにそれらをラップします。

0

layout_gravityは、android:orientation="vertical"をリニアレイアウトに追加しないと機能しません。あなたはリニアレイアウトに比べてはるかに簡単相対レイアウトで隣同士にコントロールを配置することができます例

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<!-- Your Code Here --> 

</LinearLayout> 
+0

私の場合に働いた! tnxs。 –