LinearLayout에 일련의 사용자 지정보기를 추가하고 있습니다. 특정 매개 변수를 기반으로 차원을 반환하려면 이러한 사용자 지정 뷰의 onMeasure 메서드를 재정의했습니다. 사용자 입력을 기반으로보기의 크기를 변경하려면 이러한 매개 변수를 변경하고 싶습니다. LinearLayout이 자식을 "다시 레이아웃"하여 새 치수를 반영하도록하려면 어떻게해야합니까?Android에서보기를 다시 레이아웃하는 방법은 무엇입니까?
11
A
답변
22
Oh ... linearLayout.requestLayout().
5
제 사례는 모든 아이들을 즉시 다시 연결해야합니다. requestLayout()이 즉시 수행하지 않습니다. 저와 같은 요구 사항이있는 사람들을 위해
:
이 바로 뷰의 아이 재 레이아웃 강제를
private void reLayoutChildren(View view) {
view.measure(
View.MeasureSpec.makeMeasureSpec(view.getMeasuredWidth(), View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(view.getMeasuredHeight(), View.MeasureSpec.EXACTLY));
view.layout(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}
+0
이것은 나를 위해 일한 유일한 해결책입니다. 'invalidate'와'requestLayout'은 그냥하지 않을 것입니다. 그래서이 팁을 주셔서 감사합니다! –
관련 문제
- 1. WPF : wrappanel을 다시 레이아웃하는 방법은 무엇입니까?
- 2. android에서보기를 만드는 방법은 무엇입니까?
- 3. wxPanel의 모든 자식을 레이아웃하는 방법은 무엇입니까?
- 4. 간단한 게임의 코드를 레이아웃하는 방법은 무엇입니까?
- 5. (youtube와 같은) 구독 데이터베이스를 레이아웃하는 방법은 무엇입니까?
- 6. Android에서보기를 표시하기위한 임계 값
- 7. Ext GWT (GXT)에서 강제로 다시 그리기/다시 레이아웃하는 방법은 무엇입니까? GXT에서
- 8. Wikitude는 Android에서보기를 맞춤 설정합니다.
- 9. Android에서보기를 미리로드 하시겠습니까?
- 10. 필드를 올바르게 레이아웃하는 방법
- 11. Android에서보기를 확대/축소 할 수 있습니까?
- 12. 사용자가 Android에서보기를 탭하는 경우를 감지하는 방법
- 13. 동적으로 UIViewController에 대한 UIViews 레이아웃하는 방법
- 14. getExternalStorageState를 다시 사용하는 방법은 무엇입니까?
- 15. 창을 다시 그리는 방법은 무엇입니까?
- 16. 컬렉션을 다시 작성하는 방법은 무엇입니까?
- 17. 서식을 다시 형성하는 방법은 무엇입니까?
- 18. 그래픽 방식으로 wx 앱을 레이아웃하는 중
- 19. 내 탭 문자가 4 자의 너비로 그려 지도록 NSTextView의 내용을 다시 레이아웃하는 방법
- 20. 바이트 데이터를 비트로 변환하고 다시 바이트로 다시 변환하는 방법은 무엇입니까?
- 21. 최신 CPAN 모듈의 종속성을 다시 작성하거나 다시 설치하는 방법은 무엇입니까?
- 22. 전체 텍스트 인덱스를 다시 작성하는 방법은 무엇입니까?
- 23. PHP에서 세션을 다시 초기화하는 방법은 무엇입니까?
- 24. JFreeChart에서 XYPlot을 다시 칠하는 방법은 무엇입니까? (JAVA)
- 25. Silverlight에서 데이터베이스에 다시 쓰는 방법은 무엇입니까?
- 26. 이렇게 링크를 다시 쓰는 방법은 무엇입니까?
- 27. 리피터에 수동으로 다시 게시하는 방법은 무엇입니까?
- 28. Java에서 Java 프로그램을 다시 시작하는 방법은 무엇입니까?
- 29. 죽은 서비스를 자동으로 다시 시작하는 방법은 무엇입니까?
- 30. iPhone을 다시 시작할 수있는 방법은 무엇입니까?
이 또한 무효를 확인 (뷰의 자신의 폭과 높이를 변경할 필요가 없습니다 주어진)() – Thomas
invalidate()는 유용하지 않았다. 왜냐하면 레이아웃을 무효화하면 모든 자식이 다시 그려지지만 실제로는 자식의 크기를 조정하거나 다시 레이아웃하지 않기 때문이다. – ab11
Android OS 4.x 태블릿 (ICS)에서 중도 재 지정이 도움이되지 않았습니다. 무엇이 도움이되었고,'getWindow(). requestFeature (Window.FEATURE_NO_TITLE); '을 제거하고 있었습니까? –