android以编程方式在radiogroup按钮之间添加填充

问题描述:

我在xml中有一个radiogroup,并且按钮是以编程方式生成的。如何以编程方式在按钮之间添加间距。android以编程方式在radiogroup按钮之间添加填充

我以为这是像LayoutParams东西,但我的对象没有明显的setPaddingsetMargins方法。

这就是我试图

RadioButton currentButton = new RadioButton(context); 
      currentButton.setText(item.getLabel()); 
      currentButton.setTextColor(Color.BLACK); 

      //add padding between buttons 
      LayoutParams params = new LayoutParams(context, null); 
      params. ... ?????? 
      currentButton.setLayoutParams(params); 

填充

普通LayoutParams没有方法来应用填充,但意见做。由于单选按钮是来看一个子类,你可以使用View.setPadding(),例如像这样:

currentButton.setPadding(0, 10, 0, 10); 

这在顶部和10px的底部增加了10px的填充。如果您想使用px (例如dp旁边的其他单位,则可以使用TypedValue.applyDimension()将它们先转换为像素。

边距

边距被施加到某些特定的LayoutParams类哪个子类MarginLayoutParams。确保在设置边距时使用特定的子类,例如RadioGroup.LayoutParams而不是通用ViewGroup.LayoutParams (当您的父级布局是RadioGroup。那么你可以简单地使用MarginLayoutParams.setMargins()

样品:

RadioGroup.LayoutParams params 
      = new RadioGroup.LayoutParams(context, null); 
params.setMargins(10, 0, 10, 0); 
currentButton.setLayoutParams(params); 
+4

嗨。我尝试了上面的边距代码,它不起作用。按钮在另一个旁边很简单。 – Taras

+0

我认为默认的填充值大约是10,所以当你给10填充时,你不会注意到它,尝试一些更大的值,如40,你会看到它的工作。 –