2013-02-28 115 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

相关问题