RadioButton设置Margin间距

出自:http://stackoverflow.com/questions/7905885/margin-set-programmatically-on-radiobutton-not-applied?answertab=active#tab-top


情景:今天朋友问我,他在RadioGroup下动态添加的RadioButton不能设置间距,试了很多种方案也是不行。

以下代码与我的写的类似


源码

layout

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. <RadioGroup android:id="@+id/rg_nav" android:orientation="vertical"  
  2.     android:layout_width="wrap_content" android:layout_height="wrap_content">  
  3. </RadioGroup>  

activity

[java]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. float density = getResources().getDisplayMetrics().density;  
  2.   
  3. rg_nav = (RadioGroup) findViewById(R.id.rg_nav);  
  4.   
  5. LinearLayout.LayoutParams params_rb = new LinearLayout.LayoutParams(  
  6.         (int)(8*density),  
  7.         (int)(8*density));  
  8. int margin = (int)(6*density);  
  9. params_rb.setMargins(margin, margin, margin, margin);  
  10.   
  11. for(String url : product.list_url_pic){  
  12.   
  13.     RadioButton radio_btn = new RadioButton(ProductHome.this);    
  14.     radio_btn.setButtonDrawable(R.drawable.rb_nav);  
  15.     radio_btn.setId(rb_id++);  
  16.     rg_nav.addView(radio_btn, params_rb);  
  17. }    


打开显示布局 看仍然是没有设置margin的。

后来我在用radioBtn.getParams();结果会报空指针异常。


解决方案

最后在stackoverflow找到了解决方案。其实只要把

LinearLayout.LayoutParams 改成 RadioGroup.LayoutParams就可以了


在这里感谢 我的朋友大大大勇气。


出自:http://stackoverflow.com/questions/7905885/margin-set-programmatically-on-radiobutton-not-applied?answertab=active#tab-top


情景:今天朋友问我,他在RadioGroup下动态添加的RadioButton不能设置间距,试了很多种方案也是不行。

以下代码与我的写的类似


源码

layout

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. <RadioGroup android:id="@+id/rg_nav" android:orientation="vertical"  
  2.     android:layout_width="wrap_content" android:layout_height="wrap_content">  
  3. </RadioGroup>  

activity

[java]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. float density = getResources().getDisplayMetrics().density;  
  2.   
  3. rg_nav = (RadioGroup) findViewById(R.id.rg_nav);  
  4.   
  5. LinearLayout.LayoutParams params_rb = new LinearLayout.LayoutParams(  
  6.         (int)(8*density),  
  7.         (int)(8*density));  
  8. int margin = (int)(6*density);  
  9. params_rb.setMargins(margin, margin, margin, margin);  
  10.   
  11. for(String url : product.list_url_pic){  
  12.   
  13.     RadioButton radio_btn = new RadioButton(ProductHome.this);    
  14.     radio_btn.setButtonDrawable(R.drawable.rb_nav);  
  15.     radio_btn.setId(rb_id++);  
  16.     rg_nav.addView(radio_btn, params_rb);  
  17. }    


打开显示布局 看仍然是没有设置margin的。

后来我在用radioBtn.getParams();结果会报空指针异常。


解决方案

最后在stackoverflow找到了解决方案。其实只要把

LinearLayout.LayoutParams 改成 RadioGroup.LayoutParams就可以了


在这里感谢 我的朋友大大大勇气。


猜你喜欢

转载自blog.csdn.net/a454193977/article/details/50549661
今日推荐