Android 从RelativeLayout中删除规则

Android 从RelativeLayout中删除规则,android,android-relativelayout,Android,Android Relativelayout,我在XML中将书签ImageButton和ALIGN\u-with\u-PARENT设置为true 如果我按程序执行(我想删除该规则) 规则不适用(在我的布局中,我可以看到规则仍然处于活动状态)->布局不好。如果我在布局编辑器中手动执行此操作(某种“模拟”,将ALIGN WITH PARENT设置为false),则布局很好,这会导致出现此代码。有点不对劲 什么?(我认为临时)解决方案是将ImageButton包装在一个虚拟RelativeLayout中,然后获取虚拟布局的参数并添加或删除规则。这

我在XML中将书签ImageButtonALIGN\u-with\u-PARENT设置为true

如果我按程序执行(我想删除该规则)

规则不适用(在我的布局中,我可以看到规则仍然处于活动状态)->布局不好。如果我在布局编辑器中手动执行此操作(某种“模拟”,将ALIGN WITH PARENT设置为false),则布局很好,这会导致出现此代码。有点不对劲


什么?

(我认为临时)解决方案是将ImageButton包装在一个虚拟RelativeLayout中,然后获取虚拟布局的参数并添加或删除规则。这样就可以正常工作。

除了调用
setLayoutParams()
,请尝试使用以下方法:

从API文档:

某个更改使此视图的布局无效时调用此函数。这将计划视图树的布局过程


只需在
params
上调用
removule()
函数即可

比如说,

params.removeRule(RelativeLayout.CENTER_IN_PARENT);
bookmark.requestLayout();
params.removeRule(RelativeLayout.CENTER_IN_PARENT);