【发布时间】:2017-01-17 19:11:00
【问题描述】:
我正在使用具有 android 版本 4.4.2 的物理设备开发本机 Android 项目。我在垂直线性布局中有一个按钮,我想以编程方式将顶部和底部边距设置为 0。
关于父视图的信息
LinearLayout.LayoutParams detailParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
LinearLayout detailContainer = new LinearLayout(this);
detailContainer.setOrientation(LinearLayout.VERTICAL);
detailContainer.setLayoutParams(detailParams);
按钮
LinearLayout.LayoutParams messageParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
messageParams.setMargins(10, 0, 10, 0);
// Displays the message
Button buttonWithMessage= new Button(this);
buttonWithMessage.setText(post.getMessage());
...
buttonWithMessage.setLayoutParams(messageParams);
将按钮添加到父视图
detailContainer.addView(buttonWithMessage);
但无论我在messageParams.setMargins(10, 0, 10, 0); 中输入什么值,边距都不会改变。我希望边距跨越整个宽度,除了左边和右边的一点点,顶部和底部都没有,所以它看起来很接触。我什至尝试为上面的每个父视图设置这些相同的参数,因为父视图都是线性布局但仍然没有。
【问题讨论】:
-
我没有看到您在更改新参数后将它们设置为视图
-
哎呀,不小心没贴出来,还有一些设置我跳过了