Domanda

Ho bisogno di un selettore del tempo per un'app flessibile e, per quanto ne so, non esiste un componente dell'interfaccia utente per manipolare gli oggetti Date con una risoluzione più fine rispetto al giorno (il DateChooser ).

Qual è il momento migliore per scegliere Flex? Preferisco fortemente un componente Free as in Libre e / o Free as in Beer.

È stato utile?

Soluzione

Forse questo potrebbe aiutare: http://blog.georg-graf.com/archives/301

Altri suggerimenti

Questo dovrebbe funzionare per te: http://joelhooks.com/2008/10/11/flex-date-and-time-datetime-picker-control/

C'è una demo e un link al codice sorgente proprio sopra di esso.

Se vuoi solo modificare l'ora, ecco una soluzione:

http://weflex.wordpress.com/2011/02/02 / 17 / flex-timeInput-componente /

Trovato questo sul sito Adobe (primo risultato nella ricerca di Google) http://www.adobe.com/cfusion/exchange/ ? index.cfm evento = extensionDetail & amp;. extid = 1400019

È possibile estendere il componente DateChooser per aggiungere la funzionalità sopra.

Yahoo! Astra TimeInput e TimeStepper sono utili.

http://developer.yahoo.com/flash/astra-flex/timeinput /

http://developer.yahoo.com/flash/astra-flex/timestepper /

Tuttavia, a quanto pare c'è un problema quando li si utilizza con l'SDK Flex 4 e sembra Yahoo! al momento non ha in programma di aggiornare i propri componenti Astra.

Potresti voler dare un'occhiata a questo link per una versione che funziona con Flex 4. https://github.com/joshtynjala/astra-flex

Penso che un input temporale sarebbe un buon candidato per un componente Flex SDK nativo.

Prova questo codice seguente: sarà utile per inserire il formato HH: MM 12 ore senza AM / PM

Codice MXML:

<Timepicker maxChars="5" restrict="0-9" />

Codice ActionScript:

package
{
import flash.events.KeyboardEvent;

import mx.controls.TextInput;

public class Timepicker extends TextInput
{
    public function Timepicker()
    {
    }

    override protected function keyUpHandler(event:KeyboardEvent):void
    {
        super.keyUpHandler(event);

        if (text.length == 0)
        {
            return;
        }
        var keyDel:Boolean=false;
        if (event.charCode == 8 || event.charCode == 46)
            keyDel=true;
        var numberString:String=text;
        if (keyDel)
            text=numberString;

        if (numberString.length > 0 && !keyDel)
        {
            if (numberString.length == 2 && numberString.indexOf(":") == -1)
            {
                text=numberString;
                textField.appendText(":");
            }
            else if (numberString.length >= 4 && Number(numberString.charAt(3)) > 5)
            {
                text=numberString.substr(0, 3)
            }
            else if (numberString.length == 3 && numberString.charAt(2) != ":")
            {
                if (Number(numberString.charAt(2)) <= 5)
                {
                    var fourthDigit:String=numberString.charAt(2);
                    super.textField.text="";
                    super.textField.appendText(numberString.substring(0, 2) + ":" + fourthDigit);
                }
                else
                {
                    super.textField.text="";
                    super.textField.appendText(numberString.substring(0, 2) + ":");
                }
            }
            textField.setSelection(textField.length, textField.length);

        }
    }

    override protected function keyDownHandler(event:KeyboardEvent):void
    {
        super.keyDownHandler(event);
        var keyDel:Boolean=false;
        if (event.charCode == 8 || event.charCode == 46)
            keyDel=true;

        super.text=text;
        if (super.text.length == 0)
        {
            var inputVal:String=String.fromCharCode(event.charCode);
            if (Number(inputVal) > 1)
            {
                super.textField.appendText("0" + inputVal + ":");
            }
        }
        super.textField.setSelection(super.textField.length, super.textField.length);
    }

}

}

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top