我有两个布局:main.xml和buttonpanel.xml。在buttonpanel.xml中,在main linearlayout中,我将gravity设置为bottom。现在我尝试使用以下代码添加按钮面板布局。
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,它可以正常工作。
任何人都可以帮我解决我的代码有什么问题吗?
答案 0 :(得分:17)
在以您执行方式的方式膨胀视图时,我遇到了布局参数被丢弃的问题。如果我对inflate
使用略有不同的调用,则会遵循我的布局参数:
parent_view = inflater.inflate(R.layout.buttonpanel, parent);
或者在我的情况下,当父母不支持向其添加视图时:
view = inflater.inflate(R.layout.buttonpanel, parent, false);
也许这也可以解决你的问题。
编辑:根据给定的参数返回不同的视图。 LayoutInflater
答案 1 :(得分:0)
您可以使用childview索引进行设置。我认为它会帮助你。另一种addview的方法,包括childindex