Пользовательское представление Android - установка его на максимальное доступное пространство, но не более - PullRequest
0 голосов
/ 12 мая 2010

У меня есть собственный класс View в моем приложении, который я использую в макетах xml. Везде, где я использую это представление в своем XML, я не хочу, чтобы он растягивал контейнер, но я хочу, чтобы он заполнял все доступное пространство. Вот пример, чтобы сделать это немного яснее. У меня есть LinearLayout, установленный на горизонтальную ориентацию с моим пользовательским представлением, сопровождаемым TextView. TextView собирается растянуть LinearLayout так, чтобы он занимал необходимое ему пространство и не более. Я хочу, чтобы мой пользовательский вид занимал вертикальное пространство, предоставленное TextView. Допустим, TextView в итоге имеет высоту 50px из-за его содержимого. Таким образом, LinearLayout растягивается примерно до этой высоты (без учета каких-либо полей или отступов), поэтому я просто хочу, чтобы представление знало, что оно может растягиваться до этой высоты, а не "толкает" контейнер.

Не переопределяя ни один из методов измерения базового класса (onMeasure и т. Д.), Мой View фактически растягивается, чтобы занять как можно больше места. Я уже поиграл с wrap_content и fill_parent кучей, поэтому я предполагаю, что мне нужно что-то сделать в одном из методов измерения класса View.

1 Ответ

0 голосов
/ 12 мая 2010

Поддерживает ли ваш взгляд атрибут веса? http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html Вы, вероятно, можете взглянуть на Android src для LinearLayout, чтобы понять это.

...