首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式使用'dp‘设置页边距?

如何以编程方式使用'dp‘设置页边距?
EN

Stack Overflow用户
提问于 2019-02-09 20:14:03
回答 1查看 1.1K关注 0票数 1

我试图用编程的方式来创建设计。我使用LayoutParams作为详细信息,我想设置页边距,我看到了.setMargins( 0,100,0,100),但是我想用'dp‘设置如下:

代码语言:javascript
运行
复制
<TextView
          ...
          android:layout_marginLeft="10dp"
          .../>

如何用'dp‘来设置边距?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 20:39:55

那么,您首先要知道父布局,如果是RelativeLayout,您需要:

代码语言:javascript
运行
复制
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(this);

如果是线性的,请确保用线性替换相对,以获得可以使用的正确的layoutParams.Now:

代码语言:javascript
运行
复制
layoutParams.setMargins(i1,i2,i3,i4);

所有的值都应该以像素为单位,所以如果需要一个方法,它应该将dp转换为px,以便you.Feel免费使用我的方法:

代码语言:javascript
运行
复制
public int dpToPx(Context context, float dp) {
    return Math.round(dp * getDisplayMetrics(context).density);
}

现在,只需将layoutParams设置为子视图:

代码语言:javascript
运行
复制
textView.setLayoutParams(layoutParams);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54610309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档