← Alle utvidelser

Native utvidelse

KlugDialog

com.klug.dialog.Dialog

INGEN APM NØDVENDIG. Last ned og bruk. Det blir ikke enklere enn dette.

Native dialoger for AIR-apper på Android, iOS og macOS: varsler, dialoger med tekstfelt som blir over tastaturet, og en fremdriftsdialog som koden din oppdaterer og lukker.

AndroidiOSmacOS I produksjon Fra €19 / år · Kjøp

Oversikt

AIRs innebygde varsel på Mac ser ut som det kommer fra et annet tiår. KlugDialog viser det ekte: native macOS-varselark festet til appvinduet ditt, med appikonet, systemfonten og de kjente knappestilene.

Utover enkle varsler dekker den det skrivebordsapper trenger hver dag: dialoger med tekstfelt (for eksempel brukernavn og passord, også som sikre felt), flere knapper med egne stiler og et fremdriftsark ("Kobler til…") som koden din oppdaterer og lukker når jobben er ferdig.

Alt er asynkront: show() returnerer med en gang, og callbacken din mottar den valgte knappen. KlugDialog kjører i Mac-versjonen av appene våre, vårt proof of concept.

Nytt på Android: de samme dialogene som native Android-dialoger. Tekstfelt blir over tastaturet på alle skjermer, også i liggende format på nettbrett, der knappene tidligere forsvant bak det; passord, brukernavn og e-postadresser får aldri automatisk stor bokstav, og e-postfelt får e-posttastaturet. Android-versjonen stabler også lange knappelister, tilbyr en enkel spinner, og kjører i Android-versjonen av appene våre.

Også på iOS: siden versjon 1.2 viser det samme API-et native iOS-varsler, dialoger med tekstfelt og en fremdriftsdialog, slik at én kodesti dekker Android, iOS og macOS.

Funksjoner

  • Selvstendig: én ANE, ingen kjernebibliotek eller avhengige ANE-er å legge til
  • Native macOS-varselark med opptil tre knapper
  • Stilene informasjon, advarsel og kritisk
  • Dialoger med et vilkårlig antall knapper og tekstfelt, inkludert sikre felt
  • Fremdriftsark som kan oppdateres og lukkes fra kode
  • Dialoger kan lukkes fra kode
  • Callbacks med den valgte knappen og de innskrevne verdiene
  • Android: felt over tastaturet, ingen automatisk store bokstaver i passord, e-post- og talltastaturer, lyst og mørkt tema

Støttede plattformer

Android varsler · tekstfelt · fremdrift · lange knappelister
iOS arm64 · varsler · tekstfelt · fremdrift
macOS arm64 · x86_64

På andre plattformer returnerer isSupported false, slik at appen din kan falle tilbake til sine vanlige dialoger der.

Kom i gang

Legg utvidelsen til i applikasjonsbeskrivelsen din:

app.xml
<extensions>
    <extensionID>com.klug.dialog.Dialog</extensionID>
</extensions>

Kodeeksempler

Fem komplette flyter. Hvert kall returnerer med en gang; resultatet kommer senere i callbacken din, slik at appen aldri blokkeres mens en dialog er åpen. Full dokumentasjon →

1 · Sjekk støtte og vis et enkelt varsel
Setup.as
import com.klug.dialog.Dialog;

var dialog:Dialog = Dialog.getInstance();

if ( dialog.isSupported )
{
    dialog.show( "Saved", "The recording is in your library." );   // one "OK" button
}
else
{
    showAppAlert( "Saved" );   // your app's own fallback dialog, e.g. on Windows
}
2 · Still et spørsmål med opptil tre knapper
Confirm.as
dialog.show( "Delete recording?", "This cannot be undone.",
    [ "Delete", "Keep" ],
    function( index:int ):void
    {
        // index = position in the buttons array;
        // -1 = closed without a button, e.g. the Android back key
        if ( index == 0 ) deleteRecording();   // your app
    },
    Dialog.STYLE_WARNING );   // alert style of the macOS sheet
3 · Innloggingsdialog med tekstfelt
SignIn.as
var buttons:Array = [
    { label:"Cancel",  style:4, tag:0 },   // style 4 = cancel, 3 = destructive
    { label:"Sign in", style:0, tag:1 }
];
var fields:Array = [
    { placeholder:"E-mail", text:lastEmail, keyboardType:7 },   // 7 = e-mail keyboard
    { placeholder:"Password", secure:true }                 // never auto-capitalised
];

dialog.present( "Sign in", "Please enter your account.", true, buttons, fields,
    function( tag:int, values:Array, cancelled:Boolean = false ):void
    {
        if ( cancelled ) return;   // closed without a button (tag -1)
        if ( tag == 1 ) signIn( values[0], values[1] );   // values in field order
    },
    null, "dark" );   // theme on Android and iOS; macOS follows the system
4 · Fremdriftsdialog mens koden din jobber
Connect.as
// your own id: the same dialog is updated and closed with it
dialog.progressShow( "connect", "Connecting", "Contacting the server…", false,
    function():void { trace( "progress dialog closed" ); } );   // fires once

dialog.progressUpdate( "connect", "Signing in…" );

// when the work is done, or has failed
dialog.progressDismiss( "connect" );
5 · Lukk en dialog fra kode
Waiting.as
// pass your own id as the 7th parameter to close the dialog later
dialog.present( "Waiting for the camera", "Tap Cancel to stop waiting.", false,
    [ { label:"Cancel", style:4, tag:0 } ], null,
    function( tag:int, values:Array ):void { stopWaiting(); },   // your app
    "waitCamera" );

// the camera has answered: close the dialog, no callback fires
dialog.presentDismiss( "waitCamera" );

API-oversikt

Dialog.getInstance()Returnerer den ene instansen.
isSupportedTrue på Android, iOS og macOS; false andre steder, for eksempel på Windows.
show(title, message, buttons, callback, style)Varsel med opptil tre knapper (standard "OK"); callback(index), -1 hvis lukket uten knapp. Returnerer false hvis det ikke støttes.
present(title, message, cancelable, buttons, fields, callback, id, theme)Dialog med et vilkårlig antall knapper og tekstfelt; callback(tag, values, cancelled). Send inn din egen id for å lukke den senere; theme "light" eller "dark" på Android og iOS.
presentDismiss(id)Lukker en present()-dialog fra kode; ingen callback utløses.
progressShow(id, title, message, cancelable, closeCallback, theme)Fremdriftsdialog med en spinner; closeCallback utløses én gang når den er borte.
progressUpdate(id, message) / progressDismiss(id)Endrer teksten i fremdriftsdialogen / lukker den.
STYLE_INFO, STYLE_WARNING, STYLE_CRITICALVarselstiler for show(), brukt av macOS-varselarket.
Button {label, style, tag}style: 0 default, 1 positive, 2 negative, 3 destructive, 4 cancel, 5 neutral. Android bruker alle, iOS bruker 3 og 4, macOS viser alle knapper likt.
Field {placeholder, secure, text, keyboardType, autocorrect, autocap}keyboardType: 0 default, 3 URL, 4 number, 5 phone, 7 e-mail, 8 decimal. autocap: 0 none (standard), 1 sentences, 2 words, 3 all. De tre siste gjelder på Android og iOS.

Kjøp KlugDialog

En årslisens for én AIR-applikasjon, med alle oppdateringer i 12 måneder. Etter betaling mottar du utvidelsen, ActionScript-biblioteket og dokumentasjonen på e-post, vanligvis innen én virkedag. Lisens og vilkår

Enkel
€19 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Ingen støtte
Kjøp Enkel
Standard
€149 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Svar på e-post innen 7 dager
Kjøp Standard
Prioritet
€299 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Svar på e-post innen 48 timer
Kjøp Prioritet
Skatter og avgifter beregnes ved kassen av Link (Stripe). Du oppgir applikasjons-ID-en til AIR-appen din under kassen.

Krav

AIR SDK51.x (HARMAN)
AndroidAndroid 6 eller nyere
iOSiOS 13 eller nyere
macOSmacOS 11 eller nyere