Каковы основные преимущества использования модели параллелизма на основе процессов по сравнению с одним он занимает МАКСИМАЛЬНО 50% экрана, а затем прокручивается. Итак, 50% карта, 50% текст.
На данный момент я назначил веса двум частям, и это неплохо, но если текст небольшой, карта не расширяется, чтобы занять пространство , и в компоновке есть пустой пробел, который карта могла бы с пользой использовать.
Я перепробовал множество комбинаций, но не вижу, как это сделать. Мне кажется обычным опытом, что я знаю, чего хочу, но не вижу, как получить доступные представления для этого. Я надеюсь, что есть простой способ сделать это.
Пожалуйста, покажите мне дурака и укажите на очевидный атрибут, который я упустил: -)
======== ================================================== ============
Насколько я могу там видеть ' Это невозможно сделать только в декларативном XML, и это нужно делать в коде. Я установил высоту текстового раздела на wrap_content, вес на 0 (без изменения размера) и установил для карты вес = 1 (т.е. занимал оставшееся место). Затем я проверяю, занимает ли текстовый раздел (в ScrollView) слишком много места, и, если да, сжимаю его обратно. Этот код необходимо изменить для поддержки другой ориентации макета.
private void fixLayoutProportions()
{
float maxPercentageOfScreenForText = 50/100;
LinearLayout container = (LinearLayout)findViewById(R.id.container);
ScrollView eventText = (ScrollView)findViewById(R.id.text_scroller);
int heightAvailable = container.getHeight();
int scrollerHeight = eventText.getHeight();
if ( scrollerHeight>(heightAvailable*maxPercentageOfScreenForText) ) // Text section using too much space
{
eventText.getLayoutParams().height = (int)(heightAvailable*maxPercentageOfScreenForText) ;
eventText.invalidate();
}
}