Воздух: сохранить местоположение и размер приложения
-
22-09-2019 - |
Вопрос
Хорошо, я пытаюсь сделать так, чтобы, когда пользователь запускает мое Air App, оно позиционирует себя и размещает себя на том, что было в последний раз, когда оно было открыто.
Вот мой код:
private function init():void
{
gotoLastPosition();
this.nativeWindow.addEventListener( Event.CLOSING, saveAppPosition );
}
private function saveAppPosition(e:Event = null):void
{
var xml:XML = new XML('<position x="'+this.nativeWindow.x+'" y="'+this.nativeWindow.y+'" width="'+this.width+'" height="'+this.height+'"/>');
var f:File = File.applicationStorageDirectory.resolvePath("appPosition.xml");
var s:FileStream = new FileStream();
try
{
s.open(f,flash.filesystem.FileMode.WRITE);
s.writeUTFBytes(xml.toXMLString());
s.close();
}
catch(e:Error){}
}
private function gotoLastPosition():void
{
var f:File = File.applicationStorageDirectory.resolvePath("appPosition.xml");
if(f.exists)
{
var s:FileStream = new FileStream();
s.open(f,flash.filesystem.FileMode.READ);
var xml:XML = XML(s.readUTFBytes(s.bytesAvailable));
this.nativeWindow.x = xml.@x;
this.nativeWindow.y = xml.@y;
this.width = xml.@width;
this.height = xml.@height;
}
}
Это действительно работает, однако, я получаю жалобы от пользователей, которые иногда, когда они запускают приложение, его можно найти (вне экрана), они могут щелкнуть правой кнопкой мыши элемент панели задач и максимизировать его, чтобы вернуть его, но это должно не будьте необходимы.
Я могу только предположить, что эта проблема вызвана моей попыткой сохранить позицию приложения. Я не знаю, что может пойти не так, хотя или как я могу это исправить?
Может быть, способ определить, находится ли приложение за пределами экрана после позиционирования, и переместить его на экране, если да? Не знаю, как я могу сделать это?
Любые идеи?
Спасибо!!!
Решение
Каждая пользовательская форма в списках фактически содержит конкретный веб-часть ListView, фактически, если вы правильно настраиваете его, вы спрятались скорее всего, по умолчанию по умолчанию, и добавил свой собственный, для которого вы настраиваете поведение.
Все это сказать, что на самом деле вы имеете дело с предоставлением дубликатов веб-частей, которые Waldek также здесь объяснил - http://blog.mastykarz.nl/preventing-provisioning-dupluctate-web-parts-instance-weature-parts-instance/.P >.