Ich zeige einen Dialog, um die Liste der Bilder anzuzeigen, und wähle eine davon aus. Ich habe einen Adapter erstellt, um die Bilder in der Rasteransicht zu setzen.Wie werden Bilder in der Rasteransicht programmatisch ausgerichtet?
Ich bin diesem Link gefolgt: http://www.tutorialspoint.com/android/android_grid_view.htm, um die Idee zu bekommen.
Aber jetzt zeigt der Dialog Bilder sehr weit voneinander entfernt und nicht richtig ausgerichtet. jetzt
Dialog ist wie folgt:
Adapter:
public class ImageAdapter extends BaseAdapter {
Context Context;
int [] imageId;
public ImageAdapter(Context context, int[] prgmImages) {
// TODO Auto-generated constructor stub
Context = context;
imageId = prgmImages;
}
// 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(Context);
imageView.setLayoutParams(new GridView.LayoutParams(85,85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(2,2,2,2);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageId.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
}
zeigen Dialogcode:
private void showAlertDialog() {
GridView gridView = new GridView(this);
int[] mThumbIds = {
R.drawable.roundicons05,R.drawable.roundicons08,
R.drawable.roundicons16,R.drawable.roundicons37,
};
gridView.setAdapter(new ImageAdapter(CheckListActivity.this,mThumbIds));
gridView.setNumColumns(3);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// do something here
}
});
// Set grid view to alertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(gridView);
builder.setTitle("Select icon");
builder.show();
}
Wie kann ich dies richtig zum Beispiel in der Mitte auszurichten, und 4 Bilder in einer Reihe etc .. Danke.
ich denke einstellen, da dies festgelegt ist: imageView.setLayoutParams (new GridView.LayoutParams (85,85)); Ich habe versucht, hier Wrap-Inhalt zu verwenden, aber es zeigt immer noch das gleiche. @AdityaVyas –