如何使用layoutinflator在运行时添加视图?

我有两个布局:main.xml和buttonpanel.xml。 在buttonpanel.xml中,在主线性布局中,我将重力设置为底部。 现在我正在尝试使用下面的代码添加buttonpanel布局。

setContentView(R.layout.main); LinearLayout layout=(LinearLayout)findViewById(R.id.mainlinearlayout); LayoutInflater inflater= (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view=inflater.inflate(R.layout.buttonpanel,null); layout.addView(view); 

我的问题是面板被添加到顶部,虽然我已经在buttonpanel.xml中设置重力底部。 如果我使用include将buttonpanel.xml添加到main.xml,它工作正常。

任何人都可以帮我什么是我的代码有问题吗?

Solutions Collecting From Web of "如何使用layoutinflator在运行时添加视图?"

在以这种方式膨胀视图时,我遇到了布局参数被丢弃的问题。 如果我使用稍微不同的调用来inflate我的布局参数是尊重:

 parent_view = inflater.inflate(R.layout.buttonpanel, parent); 

或者在我的情况下,当父母不支持添加视图:

 view = inflater.inflate(R.layout.buttonpanel, parent, false); 

也许这也会解决你的问题。

编辑:不同的意见返回取决于什么参数给出。 LayoutInflater

你可以使用childview索引来设置它。 我认为这将有助于you.try包括childindex的addview的另一种方法