【问题标题】:how to set left and top margin to a frame layout programmatically?如何以编程方式将左边距和上边距设置为框架布局?
【发布时间】:2020-02-25 13:06:28
【问题描述】:
我在相对布局中有一个 framelayout,我想将框架布局整体向左和顶部移动一点。我一直在使用 setLeft() 和 setTop() 方法。它正在扩展视野,但对于我的目的来说仍然可以。我的问题是我想要原始未拉伸的框架布局时想要它。但是设置 setRight() 并放置相同的参数似乎不起作用。请帮忙。
【问题讨论】:
标签:
android
android-framelayout
layoutmargins
【解决方案1】:
您可以在框架布局中使用 setMargin
val par = framelayout?.layoutParams as FrameLayout.LayoutParams
par.rightMargin = 10
par.leftMargin = 30
【解决方案2】:
您不能像设置填充一样为视图设置边距。您需要为框架布局设置布局参数,然后将边距设置为布局参数。
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
layoutParams.setMargins(5, 5, 5, 5);
frameLayout.setLayoutParams(layoutParams);