有谁知道如何添加图像的名称或图像的描述,以便在每张图像转换时它也会发生变化。
我可以通过采用单独的 TextView 并在适配器的 getView() 中扩充此 TextView 来实现。但效率不高。 所以请帮我找出另一种方法......
我的代码:
**public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;
private Vector<ListObjectWithTwoTextAndOneImage> data;
public ImageAdapter(Context c,
Vector<ListObjectWithTwoTextAndOneImage> d)
{
super();
mContext = c;
data = d;
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
**fishName.setText(data.get(position).getFirstItem());**
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
PhotoGalleryGallery.this, data.get(position)
.getThumbNailImageUrl() + ".jpg"))); // TODO: change
imageView.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
// imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}**
提前致谢
最佳答案
谢谢...我还有其他替代解决方案... 我刚刚在 get 中动态创建了一个线性布局,然后添加了一个图像和 TextView ,....
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
ImageView imageView = new ImageView(mContext);
imageView.setImageBitmap((Utils.getInstance().getImageFromAssets(
PhotoGalleryGallery.this, data.get(position)
.getThumbNailImageUrl() + ".jpg"))); // TODO: change
if (Configuration.ORIENTATION_PORTRAIT==PhotoGalleryGallery.this.getResources().getConfiguration().orientation) {
imageView.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
TextView tv = new TextView(mContext);
tv.setText(data.get(position).getFirstItem());
tv.setTextColor(Color.WHITE);
tv.setTypeface(null, Typeface.BOLD);
tv.setPadding(20, 20, 0, 5);
tv.setMaxLines(2);
tv.setMinLines(2);
ImageView divider= new ImageView(mContext);
divider.setBackgroundResource(R.drawable.devider);
divider.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
divider.setScaleType(ImageView.ScaleType.FIT_XY);
TextView tv1 = new TextView(mContext);
tv1.setText(data.get(position).getSecondItem());
tv1.setTextColor(Color.WHITE);
tv1.setTypeface(null, Typeface.BOLD);
tv1.setPadding(20, 5, 0, 0);
tv1.setMinLines(2);
tv1.setMaxLines(2);
layout.addView(imageView);
layout.addView(tv);
layout.addView(divider);
layout.addView(tv1);
} else {
imageView.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
layout.addView(imageView);
}
picPosition=position;
return layout;
}
关于android - 在 android 中向自定义图库 View 添加描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304859/