一个不容易发现的问题
对于 RelativeLayout.LayoutParams.addRule/removeRule,和 addRule(ALIGN_PARENT_END) 对应的方法不是 removeRule(ALIGN_PARENT_END)

而是
removeRule(ALIGN_PARENT_END);
removeRule(ALIGN_PARENT_RIGHT);

猜测涉及 RTL 相关的参数都是这样