2013-02-28 118 views
2

我是Android新手。任何人都可以告訴我如何在Android中以編程方式更改佈局的高度RootView?我試過下面的代碼Android:以編程方式更改佈局根視圖的高度

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      View view = inflater.inflate(R.layout.sample, null); 
      view.getRootView().getLayoutParams().height = value; 

給出執行這個我在上面的線得到一個NullPointerException後。 任何人都可以幫助我嗎?提前致謝。

回答

4

由充氣調用返回的View是根視圖,所以這應該工作:

View view = inflater.inflate(R.layout.sample, null); 
view.setLayoutParams(new ListView.LayoutParams(LayoutParams.MATCH_PARENT,<height>)); 

如果你提供的ViewGroup膨脹成這樣:

View view = inflater.inflate(R.layout.sample, containerForTheInflatedView); 

然後view將是ViewGroup,而不是您想要的根視圖。

+1

感謝您的回覆....雖然使用這個我能夠得到主要活動佈局的根元素......但在我的情況下,我膨脹適配器內的佈局,我需要的是獲得該佈局的根元素...你能幫助我嗎? – akh 2013-02-28 14:10:45

+0

當你膨脹適配器內部的佈局,你可以設置新的佈局參數(我的第二段代碼) - 或者我錯過了什麼?如果是這樣,請將您的適配器代碼發佈到您正在充氣的地方。 – nmw 2013-02-28 14:14:37

+0

謝謝...這工作..... :) – akh 2013-02-28 14:50:00

相關問題