2012-05-04 54 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,但對我來說,我需要同時控制的是彼此相鄰並使用重屬性作爲例子。

謝謝!

+0

你可以把控制旁邊的佈局相對比的線性佈局更容易彼此。使用'layout_toRightOf'屬性。我總是發現相對佈局是最強大的。 – Urban

+0

謝謝我會嘗試,但我應該如何決定每個控件在該行中佔多大的相對空間? – Dimkin

+0

林不知道我理解你的問題。你不必擔心每件物品需要多少空間。只需指定要將元素置於其右側/左側的元素ID即可。 – Urban

回答

9

改變TextView的這個工作對我來說

<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在視圖或佈局的父級中設置重力。

+0

非常感謝!它幫助! – Dimkin

+0

使用'android:gravity'爲我工作在一個LinearLayout的文本視圖居中,但寬度必須是'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。 –

相關問題