Параллелизм: процессы против потоков

Каковы основные преимущества использования модели параллелизма на основе процессов по сравнению с одним он занимает МАКСИМАЛЬНО 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();
    }
}
19
задан AndyN 22 April 2014 в 05:52
поделиться