android removeRule不可用
程序员文章站
2022-03-02 15:30:25
...
一、报错
因需求,需要在Java代码中动态地将android:layout_alignParentBottom设置为false,首先想到的是addRule和removeRule
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) v.getLayoutParams();
rlp.remove(RelativeLayout.ALIGN_PARENT_BOTTOM);
但是remove下方会有红色波浪线,removeRule是API 17才加的方法,为了在API 17前也能使用,可以使用它的等价方法,使用addRule(verb, 0)。
二、解决
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) v.getLayoutParams();
rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);
所以,removeRule和addRule(verb, 0)在设置控件相对于父控件时的效果是一样的,都是移除控件的RelativeLayout.LayoutParams ,而且removeRule里面也是调用了addRule(verb, 0)的逻辑。所以大家移除属性时,最好使用addRule(verb, 0)。
就这么简单…
另外 所以 遇到问题时一定要先百度 因为这么点小问题去麻烦导师 现在想来很是羞愧!
上一篇: UDP程序设计 听课笔记