我想知道如何在findviewID中添加或链接带有多个按钮(以编程方式添加)的LinearLayout以及它们之间的空格。我试图在我的片段中创建一个XML布局,并将其链接到LinearLayout类型的变量,并使用LayoutParams从那里工作,但我不能让它正常工作。我想知道这里是否有人有任何建议。下面是我的代码。
private GuiLoader guiloader = new GuiLoader();
private LinearLayout layout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.media_list_fragment, container, false);
layout = (LinearLayout)v.findViewById(R.id.LinearLayout1);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 2.0f);
param.setMargins(100, 100, 100, 100);
layout.setPadding(500, 86, 50, 50);
layout.setLayoutParams(param);
并通过类
创建按钮for (final VideoDevice videoDevice : videoDevices) {
Button myButton = guiloader.createButton(getActivity());
myButton.setBackgroundColor(getResources().getColor(R.color.green));
myButton.setText(videoDevice.description);
layout.addView(myButton, guiloader.buttonWidth, guiloader.buttonHeight);
提前致谢!
答案 0 :(得分:0)
当你在LinearLayout上调用setPadding和setLayoutParams时 - 这会处理LinearLayout边缘周围的填充/边距 - 而不是按钮之间的填充/边距。
听起来你希望按钮之间有间隙。为此,你可以:
1)为for循环中的每个按钮添加一个边距
2)考虑使用GridView,它允许你使用android:horizontalSpacing和android:verticalSpacing
指定孩子之间的间距