Я показываю один диалог, чтобы показать список изображений и выбрать один из них. Я создал адаптер для установки изображений в виде сетки.Как выровнять изображения в виде сетки программно?
Я воспользовался этой ссылкой: http://www.tutorialspoint.com/android/android_grid_view.htm, чтобы получить эту идею.
Но теперь диалог показывает изображения очень далеко друг от друга и не выравнивается должным образом.
Диалог теперь, как показано ниже:
адаптер: Код диалогового
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;
}
}
шоу:
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();
}
Как выровнять это правильно, например, в центре, и 4 изображения в одной строке и т. д. Спасибо.
я думаю, что он установлен, как это: imageView.setLayoutParams (новые GridView.LayoutParams (85,85)); , я попытался использовать здесь wrap-контент, но все же он показывает то же самое. @AdityaVyas –