2013-06-20 1 views
3

J'ai essayé d'ajouter le bouton ci-dessous gridview dans linearlayout au code suivant. Mais quand j'exécute mon application, je ne vois que gridview il n'y a pas d'élément de bouton. Donc, il peut faire une erreur de base mais je ne peux pas le voir.Utilisation de Gridview et Button dans LinearLayout

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      android:background="#2a2a2a" 
     > 
      <GridView 
        android:id="@+id/grid_view" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:columnWidth="150dp" 
        android:numColumns="auto_fit" 
        android:horizontalSpacing="10dp" 
        android:verticalSpacing="10dp" 
        android:stretchMode="columnWidth" 
        android:gravity="center"></GridView> 
      <Button 
        android:id="@+id/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="50dp" 
        android:text="@string/cam_string" /> 

    </LinearLayout> 

Répondre

6

Changer l'orientation de votre LinearLayout à vertical. Je soupçonne que vous ne voyez pas le bouton parce que le GridView prend tout l'espace horizontal, alors le LinearLayout ajoute le bouton dans un endroit de l'écran qui n'est pas visible. Vous pouvez aussi changer le layout_height du GridView en "0dip" et lui donner l'attribut `android: layout_weight = 1 'afin qu'il remplisse tout l'espace sauf celui occupé par le bouton.

+0

Merci, cela fonctionne :) – cyildirim

+0

Merci! Sauvé beaucoup de travail :) –

2

Outre la solution suggérée par d'autres, vous pouvez essayer l'alternative en utilisant une disposition relative.

Vous pouvez utiliser un RelativeLayout à la place de LinearLayout.

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="#2a2a2a" > 

      <GridView 
       android:id="@+id/grid_view" 
       android:layout_above="@+id/button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:columnWidth="150dp" 
       android:numColumns="auto_fit" 
       android:horizontalSpacing="10dp" 
       android:verticalSpacing="10dp" 
       android:stretchMode="columnWidth" 
       android:gravity="center"></GridView> 
      <Button 
       android:id="@+id/button1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:layout_centerHorizontal="true" 
       android:text="@string/cam_string" /> 

      </RelativeLayout> 
+0

Merci, @Raghunandan cela fonctionne mais le bouton se déplace sur la couche gridview. – cyildirim

+0

Je ne comprends pas votre commentaire. – Raghunandan

Questions connexes