Я ищу, чтобы загрузить загруженное изображение в качестве фона моей формы, и я нахожу его очень пораженным и скучным. Надеюсь, кто-то может помочь мне сделать его более последовательным.codenameone URLImage.createToStorage изображение в качестве фона
Вот пример URL у меня есть как URL пары в моем createToStorage вызова: http://lh3.ggpht.com/W6L1y47LAs1CtVm-klw7XozYAdCT2heYM9pTmrsYF7GNBFT5_i9OvplZk1yTB7Tnb2yHFgW_f3wNbDd-XlfhoA=s360
и вот звонок:
URLImage image = URLImage.createToStorage(placeholder, imageId, imageUrl, URLImage.RESIZE_SCALE);
image.fetch();
Я устанавливаю в качестве фона, как это:
Container contentPane = getForm().getContentPane();
contentPane.getUnselectedStyle().setBgImage(image);
contentPane.getUnselectedStyle().setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
, а иногда изображение загружается на склад и представляется в качестве фона, но в большинстве случаев это не так. d, чтобы добавить таймер для продолжения вызова изображения, пока он не готов, так вот, что у меня есть:
final URLImage image = URLImage.createToStorage(placeholder, imageId, imageUrl, URLImage.RESIZE_SCALE);
image.fetch();
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
image.fetch();
//image data will be different to placeholder data when successful
if(placeholder.getImageData() != image.getImageData()){
timer.cancel();
Container contentPane = getForm().getContentPane();
contentPane.getUnselectedStyle().setBgImage(image);
contentPane.getUnselectedStyle().setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
}
}
},0,3000);
Проблема с вызовом image.fetch() является то, что это уже выборки, так что это ничего не делать больше там. Данные изображения метки-заполнителя всегда совпадают с данными изображения, поэтому таймер никогда не останавливается. Я мог бы вызвать image.animate() как check to repaintImage, но он не возвращает true. Эти изображения будут загружаться при включении в средство отображения списка, но это не подходит для меня здесь. Точно так же для действительно маленьких изображений это более согласовано. Возможно, я что-то пропустил, но попробовал много способов получить эти изображения, и ни один из них не является достаточно последовательным, чтобы его можно было использовать. Возможно, я звоню в службу, которая поставляет изображение, а не только на сервер. Кто-нибудь уже прошел через это?