我实际上想知道这是否可行:基本上我希望能够让用户能够个性化按钮的外观。现在我使用带有图标的ImageViews并让onClickListener()做一些事情。如果用户想要按钮的不同图像,我有一个API,允许用户下载新图像。
1)Activity使用ImageView,并使用setImageResource
设置显示的图像ImageView imgView = ...findViewById(R.id.imageView1)
String imgName = sqlData.getImageName();
int resId = context.getResources().getIdentifier(imgName, "drawable",
context.getPackageName());
imgView.setImageResource(resId);
2)用户下载新图像并将其保存在手机上。
3)新图像名称保存在sqlite
中sqlData.setImageName("new_image.png");
4)如何使用setImageResource再次显示新图像
答案 0 :(得分:0)
在项目中添加Universal Image Loader库并使用此方法:
ImageLoader.getInstance().displayImage(image_url, imageViewPic, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingCancelled(String arg0, View arg1) {
// TODO Auto-generated method stub
}
});
在onLoadingComplete()方法中,再次将图像设置为imageView 选项值是:
DisplayImageOptions options;
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.calenderback)
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_error)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();