2010-05-11 2 views
0

xml 레이아웃에서 사용하는 응용 프로그램에 사용자 정의보기 클래스가 있습니다. 어디에서나이 뷰를 XML로 사용하고 있는데 컨테이너가 늘어나고 싶지는 않지만 사용할 수있는 공간을 모두 채우고 싶습니다. 조금 더 명확하게하는 예가 있습니다. LinearLayout을 TextView가 따르는 사용자 정의보기로 가로 방향으로 설정했습니다. TextView는 LinearLayout을 스트레치하여 필요 공간을 차지합니다. TextView에서 사용할 수있는 세로 공간을 사용자 정의보기로 가져 오려고합니다. TextView의 내용이 너무 커서 텍스트 뷰가 50px가된다고 가정 해 봅시다. LinearLayout은이 높이 정도까지 늘어납니다 (여백이나 패딩을 고려하지 않음). 그래서 나는 그 높이까지 늘어날 수 있고 컨테이너를 밀어 넣을 수 없다는 것을 알기를 바랍니다.Android 사용자 정의보기 - 사용 가능한 최대 공간을 차지하지만 더 이상 사용하지 않도록 설정합니다.

기본 클래스 (onMeasure 등)의 측정 방법을 재정의하지 않으면 내 View는 실제로 최대한 많은 공간을 차지하도록 확장됩니다. 나는 이미 wrap_content와 fill_parent를 가지고 놀았 기 때문에 View 클래스의 측정 방법 중 하나에서 뭔가를해야한다고 가정하고 있습니다.

답변

0

보기에서 가중치 속성을 지원합니까? http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html LinearLayout의 android src에서이 값을 계산할 수 있습니다.

+0

나는 그것과 관련이 없다고 생각합니다. 나는 이미 가중치 속성을 사용하여 수평 공간을 균등하게 공유하고 있지만, 이것이 수평 LinearLayout에서 차지하는 수직 공간에 어떻게 영향을 주는지는 알 수 없습니다. 내가 틀렸다면 – Rich

+0

미안하지만 충분히주의 깊게 읽지 않았고 당신이 수직으로 말하고 있다는 것을 깨닫지 못했습니다. –

관련 문제