Ho un layout con ScrollView che ha un ListView all'interno. Tutto funziona bene, ma se apro DrawerLayout, ScrollView scorrerà un po '. Basta guardare questi screenshot.ListView all'interno di ScrollView con DrawerLayout
Qui apro DrawerLayout
Come potete vedere, scorre un po '. Come risolvere questo? Questo è il mio xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/menuLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ProgressBar
android:id="@+id/progressWheelBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/noDataTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/noData"
android:textAppearance="?android:attr/textAppearanceSmall"
android:visibility="gone" />
<LinearLayout
android:id="@+id/actionBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/innerActionBarLayout"
android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@color/material_blue_500" >
<ImageButton
android:id="@+id/menuButton"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:background="@null"
android:src="@drawable/ic_menu_white_24dp" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/menuButton"
android:textColor="@color/white"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
<ScrollView
android:id="@+id/mainScrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/actionBarLayout"
android:fillViewport="true"
android:scrollbars="none"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- Here goes the frame layout with a listview inside -->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
tools:context="ru.tenet.ttk.MainActivity" />
</LinearLayout>
</ScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/actionBarLayout"
android:background="@drawable/shadow_down" />
</RelativeLayout>
<LinearLayout
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="left|start"
android:background="@color/white"
android:orientation="vertical"
android:clickable="true" >
<ListView
android:id="@+id/menuListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@drawable/list_selector"
android:layout_marginTop="15dp"
android:divider="@null" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
Avete davvero bisogno del 'ScrollView'? Un 'ListView' scorre da solo. –
È possibile utilizzare 'NestedScrollView' –
È possibile inserire ListView all'interno di una vista di scorrimento ma si deve gestire sia la scroll, la vista elenco Bec ha la propria funzione di scorrimento e la vista di scorrimento ha la sua funzione di scorrimento per, quando si cerca di scorrere in conflitto quindi è necessario gestire gli eventi scroll padre e figlio. –