在RadioGroup下动态添加的RadioButton不能设置间距,试了很多种方案都不行。
布局文件layout
<RadioGroup android:id="@+id/rg_nav"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RadioGroup>
活动页面activity
float density = getResources().getDisplayMetrics().density;
rg_nav = (RadioGroup) findViewById(R.id.rg_nav);
LinearLayout.LayoutParams params_rb = new LinearLayout.LayoutParams(
(int)(8*density),
(int)(8*density));
int margin = (int)(6*density);
params_rb.setMargins(margin, margin, margin, margin);
for(String url : product.list_url_pic){
RadioButton radio_btn = new RadioButton(ProductHome.this);
radio_btn.setButtonDrawable(R.drawable.rb_nav);
radio_btn.setId(rb_id++);
rg_nav.addView(radio_btn, params_rb);
}
打开显示布局,看仍然是没有设置margin的。
后来我在用radioBtn.getParams();结果会报空指针异常。
解决方案 :最后在stackoverflow找到了解决方案。
其实只要把LinearLayout.LayoutParams 改成 RadioGroup.LayoutParams 就可以了