Ho un frammento xml in un TabLayout. TabLayout si trova in un layout di CollapsingToolbar che si interrompe quando si scorre il contenuto dei frammenti in TabLayout verso il basso. Ho un frammento in cui ho bisogno di un TextView sopra un recyclerView.NestedScrollview + TextView + RecyclerView
Se ho il layout, come di seguito preso da this question I asked before:
<LinearLayout>
<NestedScrollView
<TextView>
</TextView>
</NestedScrollView>
<View>
</View>
<RecyclerView>
</RecyclerView>
</LinearLayout>
funziona bene, fino a quando il TextView ha così tanto il contenuto in quanto riempie o occupa la maggior parte dello schermo, il RecyclerView finisce con lo spazio rimanente nella vista da visualizzare:
|------------------| |<TextView-------->| |<---------------->| |<---------------->| |<---------------->| |<---------------->| |</TextView------->| |<RecyclerView---->| |</RecyclerView--->| |__________________|
Così il recyclerview è lasciato con uno spazio minimo per essere visualizzato. Se Textview occupa l'intero schermo, il recyclerView non viene visualizzato.
Tratto da this SO Question Se il layout è:
<FrameLayout>
<NestedScrollView
<TextView>
</TextView>
</NestedScrollView>
<View>
</View>
<RecyclerView>
</RecyclerView>
</FrameLayout>
Solo i display recyclerView e la TextView è semplicemente inesistente.
se il layout è:
<NestedScrollView>
<LinearLayout
<TextView>
</TextView>
<View>
</View>
<RecyclerView>
</RecyclerView>
</LinearLayout>
</NestedScrollView>
La TextView dimostra, se v'è contenuto nel RecyclerView o meno.
Come posso avere la pergamena TextView fuori dalla finestra abbastanza per rivelare il recyclerview modo che lo schermo può passare da questo:
|------------------| |<TextView-------->| |<---------------->| |<---------------->| |<---------------->| |<---------------->| |</TextView------->| |<RecyclerView---->| |</RecyclerView--->| |__________________|
a questo:
|------------------| |<---------------->| |</TextView------->| |<RecyclerView---->| |<---------------->| |<---------------->| |<---------------->| |<---------------->| |</RecyclerView--->| |__________________|
Il mio codice XML corrente in cui viene visualizzato solo il RecyclerView e non il TextView:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<TextView
android:id="@+id/item_shipping_shipping_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start|left"
android:padding="@dimen/margin_16"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.v4.widget.NestedScrollView>
<View
android:id="@+id/line43"
android:layout_width="match_parent"
android:layout_height="@dimen/line_height"
android:background="@color/light_gray"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/item_shipping_fragment_recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</FrameLayout>
non è sicuro, ma cercare impostando l'altezza di layout di vista riciclatore di match_parent e l'altezza di framelayout è anche wrap_content in modo da provare cambiandolo anche o entrambi insieme –
Ok ho provato che, impostato sia su match_parent, tutto il successo è stato che il RecyclerView era l'unica vista visualizzata. Ho provato a cambiare il FrameLayout in LinearLayout e l'unica vista visibile era TextView – x10sion
hai una sola vista testo allora perché hai inserito la textview in nestedscrollview? prova rimuovendo scrollview –