레이아웃에 두 개의보기가 있습니다. 전화 번호는 각각 View A
및 View B
입니다.형제보기가 더 큰 경우 MATCH_PARENT, 형제보기가 더 작은 경우 WRAP_CONTENT
┌──────┐
│┌─┐┌─┐│
││A││B││
│└─┘└─┘│
└──────┘
(View A
및 View B
포함) 상위 레이아웃의 높이 WRAP_CONTENT
이다.
여기서, View B
의 높이는 WRAP_CONTENT
입니다. 즉, 내용의 높이에 따라 높이를 변경할 수 있습니다. 내가 원하는 무엇
는 View A
의 내용의 내용이 View B
보다 짧은 '경우의 높이
- 세트
View A
'View B
까지의 높이 '입니다. View A
의 콘텐츠가View B
의 콘텐츠보다 크면View A
님의 콘텐츠 높이까지 설정하십시오.View B
의 내용이 높다 경우
그래서,
① 다음 View A
의 높이의 높이가 View B
로 설정됩니다 '. View B
의 내용이 짧은 경우
┌──────┐ ┌──────┐
│┌─┐┌─┐│ │┌─┐┌─┐│
││ ││ ││ ││A││ ││
I want ││A││B││, not │└─┘│B││.
││ ││ ││ │ │ ││
│└─┘└─┘│ │ └─┘│
└──────┘ └──────┘
은 ②, 다음 View A
자신의 conent의 높이의 높이 View A
이다 '. View A
설정
┌──────┐ ┌──────┐
│┌─┐┌─┐│ │┌─┐┌─┐│
││ ││B││ ││A││B││
I want ││A│└─┘│, not │└─┘└─┘│.
││ │ │ └──────┘
│└─┘ │
└──────┘
부모 LinearLayout (Horizontal)
경우
MATCH_PARENT
까지의 높이를 위반하는 경우 2.
부모 RelativeLayout
경우 정렬 View A
설정 'WRAP_CONTENT
까지의 높이가 케이스 (1) 및 View A
설정 위배' 상위 상위와 하위 모두가 의 조건을 위반합니다. Note that you cannot have a circular dependency between the size of the RelativeLayout and the position of its children. For example, you cannot have a RelativeLayout whose height is set to WRAP_CONTENT and a child set to ALIGN_PARENT_BOTTOM.
이 문제를 어떻게 해결할 수 있습니까?
이 작업을 수행 할 XML 방법이 없습니까? 그렇지 않으면 내가 동적으로 채워진 목록 안에 이런 식으로 뭔가하고 싶어하기 때문에 내 어댑터 내 에서이 일을해야합니다. –
@BartBurg : 커스텀'ViewGroup'이 아마도 가장 최적의 솔루션 일 것입니다. 'LinearLayout'을 확장하는 것은 좋은 출발점이 될 것이며, 특정 유스 케이스에 따라 위에서 설명한 기준을 고려하기 위해'onMeasure()'를 오버라이드해야합니다. –
애니메이션 효과가 발생하여 바람직하지 않을 수 있습니다. 사용자 정의 ViewGroup 샘플 크게 감사하겠습니다. –