Android 带动态文本视图的gridview&;可绘制图像
我正在开发一个Android应用程序,它可以显示图像的gridview显示&上面有textview。到目前为止,我使用drawable的gridview显示图像。我从arraylist变量中的json获取文本值 代码i用于仅显示图像:Android 带动态文本视图的gridview&;可绘制图像,android,gridview,Android,Gridview,我正在开发一个Android应用程序,它可以显示图像的gridview显示&上面有textview。到目前为止,我使用drawable的gridview显示图像。我从arraylist变量中的json获取文本值 代码i用于仅显示图像: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fr
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_front_page);
GridView grid=(GridView)findViewById(R.id.maincatgrid);
grid.setAdapter(new ImageAdapter(this));
grid.setColumnWidth( 170 );
grid.setVerticalSpacing(20 );
grid.setStretchMode( GridView.STRETCH_COLUMN_WIDTH );
grid.setNumColumns( GridView.AUTO_FIT );
}
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c){
mContext = c;
}
public Integer[] mThumbIds = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3,
R.drawable.image4,
R.drawable.image5,
R.drawable.image6,
R.drawable.image7,
R.drawable.image8,
};
public int getCount() {
// TODO Auto-generated method stub
return mThumbIds.length;
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return mThumbIds[position];
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View MyView = convertView;
// TODO Auto-generated method stub
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(170, 150));
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
}
}
我正在从包含15个值的异步任务中获取textview值。如果没有来自mThumbIds的图像(即textvalues>图像),则应将我的默认图像放置为R.drawable.no_image。是否有任何方法可以实现此目标,请建议我。提前感谢。
可以本地或从服务器加载图像
它基于惰性列表(工作原理相同)。但它有很多其他配置。我更喜欢使用通用图像加载器,因为它为您提供了更多的配置选项。如果downlaod失败,您可以显示错误图像。可以显示圆角的图像。可以缓存在磁盘或内存中。可以压缩图像
在自定义适配器构造函数中
File cacheDir = StorageUtils.getOwnCacheDirectory(activity context, "your folder");//for caching
// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
// You can pass your own memory cache implementation
.discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.enableLogging()
.build();
// Initialize ImageLoader with created configuration. Do it once.
imageLoader.init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_id)//display stub image untik image is loaded
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();
在getView()中
您可以配置其他选项以满足您的需要
随着懒惰加载/通用图像加载器,您可以查看平稳滚动和性能的持有人
可以本地或从服务器加载图像
它基于惰性列表(工作原理相同)。但它有很多其他配置。我更喜欢使用通用图像加载器,因为它为您提供了更多的配置选项。如果downlaod失败,您可以显示错误图像。可以显示圆角的图像。可以缓存在磁盘或内存中。可以压缩图像
在自定义适配器构造函数中
File cacheDir = StorageUtils.getOwnCacheDirectory(activity context, "your folder");//for caching
// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
// You can pass your own memory cache implementation
.discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.enableLogging()
.build();
// Initialize ImageLoader with created configuration. Do it once.
imageLoader.init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_id)//display stub image untik image is loaded
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();
在getView()中
您可以配置其他选项以满足您的需要
随着懒惰加载/通用图像加载器,您可以查看平稳滚动和性能的持有人 使用通用图像加载器。谢谢。你能给我提供链接吗?使用通用图像加载器。谢谢。你能给我提供链接吗??