2011-12-03 73 views
0

與該XML:爲什麼layout_width =「wrap_content」會佔用屏幕的整個寬度?

<TableRow > 
    <Button 
     android:id="@+id/buttonNext" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Next" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 
</TableRow> 

我希望「WRAP_CONTENT」只有一樣寬,必須在按鈕上顯示的文本,但按鈕專營屏幕的整個寬度...?

+1

我們需要在佈局中查看您的TableRow外部有什麼 - 這可能是您的問題 – Guillaume

回答

2

你的問題是,你的XML中的寬度規格被忽略。來自docs for TableRow

TableRow的子項不需要指定XML文件中的layout_width和layout_height屬性。 TableRow總是強制這些值分別爲MATCH_PARENT和WRAP_CONTENT。

P.S.你有沒有令人信服的理由使用絕對像素?這通常被認爲是不好的做法。

P.P.S.雙重發布我的答案,並附上您的問題的雙重發布。 :)

2

你看過這個問題嗎?

Button width in Android TableLayout

這個問題可以通過在你的TableLayout使用android:stretchColumns="*"引起的,但很難說沒有你的XML的其餘部分。

2

不理解....
無法看到TableRow.no的layout_width屬性,layout_height屬性元素可能沒有這些屬性。

+0

顯然不是真的需要,因爲我按照下圖所示工作。 –

+0

我不得不添加一個TextView 「墊片」,給兩個按鈕和TextView的一個layout_weight: <按鈕 機器人:ID = 「@ + ID/buttonNext」 機器人:layout_weight = 「1」 機器人: text =「Next」/>

相關問題