API 17 이전에 RelativeLayout에서 규칙 제거


78

API 17 이전에는 레이아웃에서 규칙을 어떻게 제거합니까? 여러 자녀가있는 RelativeLayout이 있습니다. RelativeLayout은 내 활동의 기본 레이아웃입니다. 프로그래밍 방식으로 규칙을 추가 한 후

RelativeLayout.LayoutParams layout = (LayoutParams) theChild.getLayoutParams();
layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

나중에 프로그래밍 방식으로 규칙을 제거해야합니다. 17보다 이전 API를 가정하면 어떻게해야합니까?

답변:


162

아, 알아 냈어.

RelativeLayout.LayoutParams layout = (LayoutParams) myChild.getLayoutParams();
layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 0);

따라서 API 17까지는 실제로 removeRule이 없습니다.


9
이 대답은 나에게 즉시 명확하지 않았습니다. Android 코드에서 removeRule (rule)은 기본적으로 addRule (rule, 0)과 동일한 작업을 수행하므로 여기에 표시된 답변이 작동합니다.
greg7gkb

1
@Cote Mounyo하지만 이제 AS에서이 코드는 api level19를 필요로합니다. o 16 이하의 API 수준에서 수행하는 방법
Erum

0

상황에 따라 제 경우에는 새로운 LayoutParams규칙을 만들고 필요한 규칙을 추가했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.