2013-07-14 24 views
0

我的应用程序由GridLayout和多个按钮组成(目前它们都是ToggleButtons)。由于按钮的数量将根据用户操作而改变,我希望能够添加和删除代码中的按钮。我可以在xml中为按钮创建布局,然后在Java中创建并将它们添加到我的GridLayout中?基于相同布局的多个按钮?

回答

1

是的。您的适配器的getView函数可以从xml中充满按钮。一般来说,你检查并看看传入的视图是否为空,如果是你膨胀一个新的。

+0

'Grid ** Layout **',而不是'GridView'。 –

+0

谢谢。我为我的按钮布局创建了一个新的布局文件,并将其扩展到在Java中创建的按钮。 'ToggleButton button =(ToggleButton)getLayoutInflater()。inflate(R.layout.togglebutton,null);' – Juholei

0

你可以轻松做到这一点。这里是一个例子:

LinearLayout buttonsLayout = (LinearLayout) yourLayout.findViewById(R.id.items_layout); 
LayoutParams buttonLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,   LayoutParams.WRAP_CONTENT); 
buttonLayoutParams.setMargins(mMarginsInPixel, 0, mMarginsInPixel, 0); 
button.setLayoutParams(buttonLayoutParams); 

// Adding button to layout 
buttonsLayout.addView(button); 

// or removing button from layout 
buttonsLayout.removeView(button); 
+0

这似乎并不是我想要的。我想在xml中创建按钮的布局,然后在Java中使用该布局创建按钮。在你的答案中,LinearLayout是在xml中完成的,并且按钮的布局设置为Java,如果我理解正确的话。 – Juholei

+0

我并没有完全理解这两者之间的区别,所以我只会描述我的代码的作用:) 您使用XML创建布局。 (线性布局,或任何你喜欢的) 然后,在这个java代码中,你可以通过id找到xml布局,创建按钮并将它们添加到该布局 – TalDroid