0

Я хочу разместить LinearLayout под FrameLayout, который содержит ListView, но содержимое LinearLayout не отображается. Я также пробовал это с окружающим LinearLayout вместо RelativeLayout без успеха. FrameLayout нельзя изменить на другой тип макета! LinearLayout ниже будет отображаться и скрываться программно.Место LinearLayout ниже FrameLayout с ListView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@id/framelayout_container" > 

    <ListView 
     android:id="@+id/content_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:divider="#FFFFFF" 
     android:dividerHeight="1dp" 
     android:padding="0dp" > 
    </ListView> 

    <LinearLayout 
     android:id="@+id/description_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/white" > 

     <include 
      android:id="@+id/description_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      layout="@layout/included_layout" /> 
    </LinearLayout> 
</FrameLayout> 

<LinearLayout 
    android:id="@+id/below_container" 
    android:layout_width="match_parent" 
    android:layout_height="0dip" 
    android:layout_alignParentBottom="true" 
    android:background="#33b5e5" > 

    <include 
     android:id="@+id/below_layout" 
     layout="@layout/below_layout" 
     android:visibility="visible" /> 
</LinearLayout> 
</RelativeLayout> 

Любые идеи о том, как получить эту работу?

+0

Когда вы говорите «содержимое LinearLayout», о котором вы говорите? Кроме того, вы понимаете, что эта последняя высота LL равна 0dp? Вероятно, это проблема. –

+0

Возможно, возьмите линейную компоновку и сделайте ее нижним колонтитулом вашего списка? –

+0

@NightlyNexus 0dp был проблемой, не понял, потому что я пробовал несколько разных подходов ... спасибо! – misrak

ответ

0

Проблема заключается в том, что ваш FrameLayout установлен в соответствии с шириной и высотой родителя, поэтому он не оставляет места для LinearLayout под ним. Вам нужно будет пересмотреть его, чтобы использовать его layout_height, установленный в wrap_content, и изменить внутренний ListView, чтобы сделать то же самое.

+0

Имеет ли смысл установить высоту списка для wrap_content? – misrak

+0

Вы можете, да, хотя это все равно может вызвать проблемы, так как вы его завернули в FrameLayout. Другая проблема, с которой вы столкнетесь, заключается в том, что у вас есть «ListView» и «LinearLayout» внутри «FrameLayout», поэтому они будут эффективно сидеть друг над другом. –

+0

Предназначен каркас с его содержимым (быстрый просмотр). – misrak

Смежные вопросы