2013-06-20 2 views
0

Je veux demander comment puis-je redimensionner la taille de la grille à une plus grande taille en fonction de mes besoins.Android: Grid Voir

ici est mon fichier xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".MainActivity"> 

<GridView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/grid_view" 
     android:columnWidth="150dp" 
     android:numColumns="auto_fit" 
     android:verticalSpacing="10dp" 
     android:horizontalSpacing="2dp" 
     android:stretchMode="columnWidth" 
     android:padding="20dp" 
     android:gravity="center" /> 


</RelativeLayout> 

ici est mon fichier de mise en page:

package com.example.steve_jobs; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.GridView; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    GridView gridview = (GridView) findViewById(R.id.grid_view); 
    gridview.setAdapter(new ImageAdapter(this)); 

    gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 


     } 
    }); 


} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 


} 

} 

classe d'adaptateur d'image:

package com.example.steve_jobs; 

import android.content.Context; 
import android.view.View; 
import android.widget.BaseAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 
import android.view.ViewGroup; 

/** * Créé par Yash sur 19/6/13. */ ImageAdapter public class étend BaseAdapter {

private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { // if it's not recycled, initialize some attributes 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 

// references to our images 
private Integer[] mThumbIds = { 
     R.drawable.sj_1, 
     R.drawable.sj_2, 
     R.drawable.sj_3, 
     R.drawable.sj_4, 
     R.drawable.sj_5, 
     R.drawable.sj_6, 
     R.drawable.sj_7, 
     R.drawable.nexus 
}; 


} 
+0

ce que vous voulez rétablir la taille, si vous voulez à columnwidth re size l'augmentation/diminution de la largeur de la colonne dans dp –

Répondre

0

Vous pouvez supprimer ou réduire tout ce rembourrage!

modifier:

essayer

android:stretchColumns="0,1,2" 

0, 1 et 2 représentent les index de vos colonnes;

donc si vous avez 6 colonnes que vous utilisez « 0,1,2,3,4,5 »

+0

réellement quand j'ouvre l'application alors seulement deux grille apparaît dans chaque rangée et aussi de très petite taille. Je veux dire que je veux alors couvrir tout l'écran mais ils semblent être très petits et l'espace restant est tout blanc. – user2505136

+0

réponse éditée, essayez d'utiliser stretchColumns – Oleksiy

0

vous devez utiliser ce

<GridView 
    android:id="@+id/myGrid" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:verticalSpacing="10dp" 
    android:horizontalSpacing="10dp" 
    android:numColumns="auto_fit" 
    android:columnWidth="60dp" 
    android:stretchMode="columnWidth"  
    android:gravity="center" 
/>