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

Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged.

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

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

LinearLayout layout = (LinearLayout) findViewById(R.id.layoutView);

int left, top, right, bottom;

left = top = right = bottom = 64;

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

params.setMargins(left, top, right, bottom);

TextView textView = new TextView(this);

textView.setText("A Label");

textView.setLayoutParams(params);

layout.addView(textView);

如果父视图是RelativeLayout 或者 FrameLayout,上面的做法无效,解决的办法是新建一个LinearLayout,然后把textView添加给它,再把这个LinearLayout添加给父视图:

FrameLayout layout = (FrameLayout) findViewById(R.id.layoutView);

int left, top, right, bottom;

left = top = right = bottom = 64;

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

params.setMargins(left, top, right, bottom);

TextView textView = new TextView(this);

textView.setText("A Label");

textView.setLayoutParams(params);

LinearLayout ll = new LinearLayout(this); // + 增加行

ll.setOrientation(LinearLayout.VERTICAL); // + 增加行

ll.addView(textView); // + 增加行

// layout.addView(textView); // - 删除行

layout.addView(ll); // + 增加行

以上代码经过测试。

代码设置margintop_如何通过代码设置TextView的Margin参数?相关推荐

  1. 代码设置margintop_关于内层DIV设置margin-top不起作用的解决方案

    就是外层 DIV 设置了高与宽, 内层 DIV 如果设置 maring-top 不起作用 ( FIREFOX 和 IE8 中测试),原因大致是内层 div 没有获得 layout .如下面的代码: . ...

  2. android java style_Android 在Java代码中设置style属性--使用代码创建ProgressBar对象

    强烈推荐: 在andriod开发中,很大一部分都要与资源打交道,比如说:图片,布局文件,字符串,样式等等.这给我们想要开发一些公共的组件带来很大的困难,因为公共的组件可能更愿意以jar包的形式出现.但 ...

  3. 【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )

    文章目录 1. 链 简介 ( 1 ) Chains ( 链 ) 简介 2. 创建 链 及 分析 生成的代码 ( 1 ) 创建水平链 ( 2 ) 链创建后的代码及样式 ( 3 ) 链创建后 生成的 代码 ...

  4. java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...

    本实例是为了实现在管理后台实现微信菜单的添加删除管理. 1.首先我们需要新建一个数据库表用于存放menu菜单项 可包含的字段有id.父类id.name.排序.是否显示.类型(view.click).链 ...

  5. 是否将网址设置为主页 的代码实现?

    你是要自动设置为主页的代码吧?下面的都是,选择你适用的吧. 关闭网页时弹出设为主页对话框代码: <BODY id=iehomepage οnunlοad="iehomepage.sty ...

  6. html字体代码大全_Vba群发邮件及HTML设置字体格式的代码

    按如下数据群发邮件 Sub 在EXCEL中用VBA群发N个Outlook邮件并简单设置邮件正文格式() Dim a, b As Object '定义2个对象型变量 Dim m, n, i As Lon ...

  7. 设置 Xcode 自动生成代码片段

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

  8. Excel 宏代码实现按相同值分组设置背景颜色

    Alt+F11,打开编辑器,按如下代码编写代码: Sub SetGroupBg()Dim i, j, cColors = Array("#CEFFCE", "#D7FFE ...

  9. Eclipse for android 中设置java和xml代码提示功能(转)

    1.设置 java 文件的代码提示功能 打开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist & ...

  10. 设置DIV半透明CSS代码:

    设置DIV半透明CSS代码: div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;} 说明: 1.filter:对win IE设置半透 ...

最新文章

  1. 6000字详解数据仓库建设
  2. 闭锁java_java多线程学习十::::CountDownLatch闭锁
  3. 创建python2与python3虚拟环境失败的原因
  4. c语言两个长整数相加,二个超长正整数的相加
  5. Linux(服务器编程):25---epoll复用技术实现统一处理信号事件源
  6. C#LeetCode刷题之#884-两句话中的不常见单词(Uncommon Words from Two Sentences)
  7. python爬虫从入门到放弃-python爬虫从入门到放弃(二)- 爬虫的深层原理
  8. [bzoj2819]Nim
  9. Shiro面试题(二十道)
  10. Android/IOS高仿微信IM源码
  11. 智慧监狱(所)设计方案
  12. 【JavaWeb】书城项目之与数据库交互的登录案例实现
  13. 《英文科技论文写作与学术报告》网课第一章作业答案
  14. php识别名片,名片识别接口
  15. 【数字图像处理】【个人入门记录】 绪论
  16. iphone4S 怎么激活?
  17. 股 市 运 作 原 理
  18. package.json中private选项的作用
  19. 嵌入式软件工程师面试需要的TCPI/IP协议栈知识点
  20. Partial-ReID

热门文章

  1. mysql 未找到 WinSxS_清理WinSxs释放 Win7 C盘所占的空间
  2. Shader初级(纹理坐标篇)
  3. oracle 列不能外部联接到子查询,ORA-01799 列不能外部联接到子查询
  4. JavaWeb——RequestResponse笔记
  5. 编程十年 (13):毁人不倦1
  6. 好记性不如烂笔头之linux的vim命令速看
  7. cocos creator实例--FlappyBird游戏的分析
  8. Python 用Pygame写一个Flappy Bird经典小游戏
  9. SpringBoot快速整合Quartz动态管理定时任务
  10. Thread多线程-(最容易被问到的面试题)