首页后端开发其他后端知识如何通过代码设置Android动态设置的margin参数的方法

如何通过代码设置Android动态设置的margin参数的方法

时间2024-03-28 14:28:03发布访客分类其他后端知识浏览843
导读:相信很多人对如何通过代码设置Android动态设置的margin参数的方法都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助 通过文档,查到TextView下有这么个方法setLayoutParams(ViewGroup...
相信很多人对如何通过代码设置Android动态设置的margin参数的方法都不太了解,下面小编为你详细解释一下这个问题,希望对你有一定的帮助

通过文档,查到TextView下有这么个方法setLayoutParams(ViewGroup.LayoutParams params),但是ViewGroup.LayoutParams这个东西,并没有setMargins方法,LinearLayout.LayoutParams才有,这可咋办?


手册上这样讲public void setLayoutParams (ViewGroup.LayoutParams params), 『该方法提供一些参数给父视图,指定了该view在父视图中的位置。


如果需要动态改变TextView(或者其它View)的margin属性(android:layout_marginTop, android:layout_marginBottom, android:layout_marginLeft, android:layout_marginRight),最好是通过代码动态添加这个View,而不是在layout中定义该View。

如果父视图是LinearLayout,那么就可以直接调用textView.setLayoutParams(params),然后在添加textView到LinearLayout:


方案1、如果这个控件实在XML中定义的 比如Textview

LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) textview.getLayoutParams();
      
lp.leftMargin = 0;
      
textview.setLayoutParams(lp);
    


方案2、如果这个空间是我们new出来的,就会会发现用上面的方法就会有空指针报错了。然后我们用另一种方法
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
      
layoutParams.setMargins(10,10,10,10);
    //4个参数按顺序分别是左上右下  
  
textview.setLayoutParams(layoutParams);
     


第一种方法必须在控件已经存在的情况下才可以用。

通过以上内容的阐述,相信大家对如何通过代码设置Android动态设置的margin参数的方法已经有了进一步的了解,更多动态设置margin的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何通过代码设置Android动态设置的margin参数的方法
本文地址: https://pptw.com/jishu/654999.html
HTML中怎么用表单实现登录功能 怎么用HTML实现一个简单的单页布局

游客 回复需填写必要信息