Android: le ScrollView n'est pas le défilement
Je suis en train de créer une mise en page avec un header, bannière ci-dessous, et puis un couple de ListView sous la bannière. Je veux tout l'écran à défilement à l'exception de l'en-tête. Maintenant, je sais que la liste ne défile pas dans un ScrollView j'ai donc régler la hauteur de la liste de assez grand pour afficher tous les éléments. Le problème est que, même après ces modifications, je vois que la liste est le défilement de façon indépendante et l'écran complet n'est pas déplacé.
`
<include
android:id="@+id/logo_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/screen_header" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="0.8"
android:background="#f2f2f2">
<include
android:id="@+id/mcUser"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
layout="@layout/complaint_reporters_details"
android:layout_weight="2" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:weightSum="9"
android:layout_weight="2">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1"
android:layout_weight="3"
android:focusableInTouchMode="false"
android:paddingLeft="30dp"
android:paddingRight="30dp">
<ImageView android:id="@+id/mcShowList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:scaleType="fitXY"
android:src="@drawable/list_icon"
android:layout_weight="0.2" />
<TextView android:id="@+id/mcShowList_label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#929292"
android:maxLines="1"
android:text="List"
android:layout_weight="0.8"
android:layout_marginTop="-8dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1"
android:layout_weight="3"
android:gravity="center_vertical|center_horizontal"
android:paddingLeft="30dp"
android:paddingRight="30dp">
<ImageView android:id="@+id/mcShowMap"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:scaleType="fitXY"
android:src="@drawable/map_view"
android:layout_weight="0.2"/>
<TextView android:id="@+id/mcShowMap_label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#929292"
android:maxLines="1"
android:text="Map"
android:layout_weight="0.8"
android:layout_marginTop="-8dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1"
android:layout_weight="3"
android:focusableInTouchMode="false"
android:paddingRight="30dp"
android:paddingLeft="30dp">
<ImageView android:id="@+id/mcShowAnalytics"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:scaleType="fitXY"
android:src="@drawable/analytics_icon"
android:layout_weight="0.2" />
<TextView android:id="@+id/mcShowAnalytics_label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#929292"
android:maxLines="1"
android:text="Analytics"
android:layout_weight="0.8"
android:layout_marginTop="-10dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_weight="0.2"
android:layout_width="fill_parent"
android:layout_height="400dp">
<FrameLayout
android:id="@+id/mcMapContainer"
android:layout_width="match_parent"
android:layout_height="fill_parent"/>
<LinearLayout
android:id="@+id/mcAnalyticsContainer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/mcChartContainer"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"/>
<GridView
android:id="@+id/mcAmenityList"
android:layout_height="0dp"
android:layout_weight="7"
android:layout_width="match_parent"
android:numColumns="3"/>
</LinearLayout>
<LinearLayout
android:id="@+id/mcListContainer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1">
<TextView
android:text="Open Complaints"
android:textColor="@color/red_btn_bg_color"
android:textSize="18dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:padding="5dp" />
<ListView
android:id="@+id/mcListOpen"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Closed Complaints"
android:textColor="@color/red_btn_bg_color"
android:textSize="18dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:padding="5dp" />
<ListView
android:id="@+id/mcListClosed"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>
`
- Veuillez voir ma réponse à une autre question.. Ajouter une autre vue vide
InformationsquelleAutor vaibhav | 2015-01-02
Vous devez vous connecter pour publier un commentaire.
Changer la hauteur de défilement de la vue à partir de match_parent à wrap_content. Parce que faire défiler la vue seulement activer le défilement si sa hauteur totale est supérieure à la hauteur de la vue parent. c'est à dire remplacer
avec ce code:
J'ai utilisé la méthode suivante plusieurs fois sur plusieurs applications.
J'ai utiliser une sous-classe de la ListView:
Puis de la mise en page, au lieu d'utiliser 's, utiliser quelque chose comme ceci:
Espérons que cette aide!
Vous pouvez essayer ce,