2010-04-29 181 views
2

我有以下的XML對象代表的ImageButtonLayoutInflater忽略參數?

<?xml version="1.0" encoding="utf-8"?> 
<ImageButton 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/genreCellItemId" android:layout_weight="1" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" 
    android:paddingLeft="5.0dip" android:paddingRight="5.0dip"> 
</ImageButton> 

我試圖誇大它,它用下面的代碼添加到的TableRow:

LayoutInflater inflater= this.getLayoutInflater(); 
TableLayout grid = (TableLayout)findViewById(R.id.bodyTableLayout); 
TableRow row = (TableRow)inflater.inflate(R.layout.genre_row, null); 
View myButton = (View)inflater.inflate(R.layout.genre_cell, null); 
row.addView(tempButton, new TableRow.LayoutParams()); 
grid.addView(row, new TableLayout.LayoutParams()); 

好了,所以我注意到,它並沒有看起來如預期的那樣,所以我啓動了Hierarchy Viewere,並注意到ImageButton實際上有一個layout_width = FILL_PARENT而不是WRAP_CONTENT,layout_gravity也是NONE,並且沒有可見的填充...

Do,am I錯誤地誇大它?或者也許是新的TableRow.LayoutParams()部分做錯了什麼?

回答

2

好以後,近兩天我已經找到了罪魁禍首:

正如我居然懷疑新的LayoutParams()是一個問題,如果你已經「格式化」所以,你以後在查看XML聲明... 留下新的LayoutParams()的方程我表將顯示就好了... ...

所以只需使用:

grid.addView(row); 
+0

嗨,我膨脹我的觀點從XML並顯示在彈出窗口中,但它缺少它的父親填充 – 2013-12-19 08:12:12

15

嘗試使用inflate(R.layout.genre_cell, row, false)代替inflate(R.layout.genre_cell, null),看看有沒有什麼幫助。有時候,當它知道膨脹的觀點會進入什麼樣的父母時,通貨膨脹會更好地工作。

+0

遺憾的是,沒有工作。 仍然沒有看到襯墊,並且鈕釦仍然「粘」在一起。 使用層次瀏覽器時layout_widt仍然FILL_PARENT和重力是沒有的。我膨脹ImageButton後,我確定了一個背景可能是一個問題?新的LayoutParams()也是一個問題? – TiGer 2010-05-03 07:37:46

+0

我注意到我的Row也沒有得到充足的膨脹: 這一個也好好嘗試一下得到它的layout_gravity設置爲中心,而是停留在NONE :( – TiGer 2010-05-03 07:44:09

+0

它看起來你可能會錯誤地誇大了一切。的LayoutParams不能在不知道父母的情況下被誇大,沒有(空)根(參數)在通貨膨脹期間意味着沒有佈局/保證金通脹。 – WORMSS 2013-09-26 08:37:28