画像のリストを表示してその中から1つを選択するダイアログを表示しています。私はグリッドビューで画像を設定するためのアダプタを作成しました。プログラムでグリッドビューでイメージを整列する方法は?
私はこのリンクに従っています: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();
}
がどのように中央に例えばこれを適切に揃えることができ、 1列に4枚の画像があります。ありがとうございます。
を通じてこれらのプロパティを設定することができる方法です。 imageView.setLayoutParams(新しいGridView.LayoutParams(85,85));私はここでコンテンツをラップしようとしましたが、それでも同じことを示しています。 @AdityaVyas –