2013-08-01 216 views
0

我經常發現自己以編程方式添加視圖,然後逐個更改視圖的某些屬性。在我必須去改變它的高度或寬度之類的東西之前,這不是什麼大問題,因爲那樣我必須做一個dpi計算。反正是有把這個:以預編程方式在Android中以編程方式添加視圖

TextView view = new TextView(activity); 
view.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
LayoutParams.FILL_PARENT)); 
view.setText(names[position]); 
view.setTextColor(myColor); 

要這樣:

TextView view = new TextView(activity); 
view.setLayout(R.layout.sample); 

我覺得必須有一個辦法,但是當我在網上搜索,我不能想到一個詞來形容的該視圖正在進行佈局。這就是爲什麼我選擇了「預定義佈局」添加到視圖。這可能嗎?提前致謝!

+1

你總是可以膨脹的佈局文件,然後簡單地將充氣視圖 – Atrix1987

+0

充氣佈局?我可以將它附加到視圖?! – EGHDK

回答

2

不完全,但有點。您可以通過編程膨脹從XML佈局視圖:

TextView view = (TextView) getLayoutInflater().inflate(R.layout.sample, parentViewGroup); 
+2

通過將'parentViewGroup'作爲第二個參數傳遞給'inflate()'調用,而不是'null',可以改善此答案。如果你不傳遞一個視圖容器,那麼膨脹視圖的任何佈局屬性都將被忽略! –

+0

好點。不知道爲什麼我沒有把它擺在首位。編輯,謝謝。 – kabuko

+0

我試圖進入'parentViewGroup',但我得到'parentViewGroup無法解析爲變量'。 – EGHDK

相關問題