Neulich stand ich vor dem Problem, dass das Checkbox-Label nach einer Änderung der Checkbox-Grafik vertikal falsch positioniert wurde.
Leider ist per css nicht vorgesehen eine vertikale Ausrichtung anzupassen. PaddingTop beeinflusst die ganze Checkbox und das brachte mich nicht weiter.
Aus diesem Grund habe ich mir folgende Lösung überlegt.
Als erstes leitet man von Checkbox ab und bereitet die Anpassung des Labels vor. Damit das Ganze etwas dynamischer wird, habe ich es einem css-style zugewiesen.
/**
* @author Christian Müller
* @date 01.11.2010
* @url http://www.christian-mueller-design.de
*/
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList( unscaledWidth, unscaledHeight );
setTextPositon();
}
private function setTextPositon():void {
var textPaddingTop : Number = isNaN( getStyle("textPaddingTop")as Number ) ? 0 : getStyle("textPaddingTop") as Number; // fetch value from current style
textField.y = textPaddingTop;
}
Wenn man damit fertig ist, braucht man dem css-style der Checkbox nur noch folgenden Parameter hinzufügen:
CheckBox.ExampleCheckbox
{
color: #FFFFFF;
textPaddingTop: 5;
}
Es kann vorkommen, dass man per code die Labels der ApplicationUpdaterUI-Komponente ändern möchte. Ich habe einige Seiten dazu gefunden, aber ohne hilfreiche Informationen.
Hier ein einfacher Weg:
/**
* @author Christian Müller
* @date 02.11.2010
* @url http://www.christian-mueller-design.de
*/
var updater : ApplicationUpdaterUI = new ApplicationUpdaterUI();
updater.configurationFile = "conf.xml";
// bestehendes resourcebundle laden und anpassen
// wichtig ist das bundle "ApplicationUpdaterDialogs"
var resBundle : ResourceBundle = ResourceBundle( ResourceManager.getInstance().getResourceBundle( String( ResourceManager.getInstance().localeChain ), "ApplicationUpdaterDialogs" ) );
if (!resBundle) {
resBundle = new ResourceBundle( String( ResourceManager.getInstance().localeChain ), "ApplicationUpdaterDialogs");
}
resBundle.content["titleWindow"] = "Aktualisiere:";
resBundle.content["titleUpdate"] = "Update verfügbar";
[..]
// neues resourcebundle zuweisen
ResourceManager.getInstance().addResourceBundle( resBundle );
ResourceManager.getInstance().update();
updater.checkNow();
weitere Information in der Flex Dokumentation: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/air/update/ApplicationUpdaterUI.html
Kürzlich hatte ich das Problem, dass ich nach der Installation von Subclipse im Flash Builder 4 zwar das SVN nutzen konnte, jedoch immer eine Fehlermeldung bekam.
native Library not available
Failed to load JavaHL Library.
Das Problem lässt sich durch folgende Einstellung lösen:
Einstellungen -> Team -> SVN
Dort unter SVN Interface SVNKit auswählen.
Danach läuft wieder alles wunderbar.
Heute wurde ein kleines update zur aktuellen SDK-Version 3.5 veröffentlicht. Wer mit der SDK 3.5 versucht hat das native UpdateWindow zum laufen zu bringen, wird sich über dieses update freuen. Mir ging es vor kurzem auch so und ich musste erstmal auf die Version 3.4 wechseln. Im Zusammenhang mit dem Flashplayer 10 ist es natürlich ratsamer die aktuellste SDK zu verwenden.
Man hatte das Problem, dass in der auto-update UI kein Skin geladen wurde und somit ein Update nicht möglich war. Man konnte noch den Umweg gehen, ohne Benutzerbestätigung ein Update auszuführen, aber wer möchte das schon.
Das update hat auch keinen Einfluss auf Anwendungs-Signierung und caching. Habe ich auch schon getestet und kann diese bestätigen.
The refreshed build, SDK 3.5a, has only a few files modified in order to fix this issue and this change does not affect the signing and caching of the SDK 3.5 RSLs originally released in December.
Die neue sdk 3.5a steht in allen 3 Versionen zur Verfügung.
Hier die offizielle Meldung im Adobe blog.