Android - скользить вниз вид веса

У меня есть линейный макет, который имеет 4 ребенка с разным весом. Когда пользователь нажимает кнопку на первом дочернем элементе, я хочу добавить нового дочернего элемента в родительский линейный макет с другим весом (рост 0dp) . Но когда я добавляю новый дочерний элемент, высота всех дочерних элементов изменяется. Как добавить новый вид без изменения высоты?

    ------
    view 1 (25%)
    ------  
    ------
    view 2 (25%)
    ------  
    ------
    view 3 (25%)
    ------  
    ------
    view 4 (25%)
    ------  

после добавления нового макета программно

     ------
    view 1 (25%)
    ------  
    ------
    view 2 (25%)
    ------  
    ------
    view  3 (25%)
    ------  
    ------
    view 4 (25%)
    ------   
    ------
    view 5 (25%)
    ------    

общая разметка составит 125% и прокручивается. Спасибо

2 ответа

Решение

Когда вы используете веса, размеры ваших видов определяются динамически, чтобы гарантировать, что все они соответствуют размеру родительского элемента - с пропорциями, определяемыми весами.

Из того, что вы описали, LinearLayout не похоже на правильное решение вашей проблемы. ListView может быть лучшим подходом, который автоматически обеспечит функцию прокрутки, когда общий размер всех элементов превышает размер самого ListView. ListView прост в реализации и обеспечивает автоматическую прокрутку и разделение элементов. Посмотрите руководство разработчика ListView для получения дополнительной информации.

Да, вы можете использовать собственный список стилей для автоматической прокрутки и получения ожидаемого внешнего вида. Вы можете использовать как это:

<ListView
                android:id="@+id/"
                android:layout_width="200dp"
                android:layout_height="wrap_content" 
                android:divider="@color/off_white"
                android:dividerHeight="2dp"/>
Другие вопросы по тегам