← Alle utvidelser

Native utvidelse

KlugDeviceType

com.klug.devicetype

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

Pålitelig gjenkjenning av telefon eller nettbrett, spurt direkte fra operativsystemet, uavhengig av orientering.

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

Oversikt

Mange apper viser en annen layout på et nettbrett enn på en telefon. Å gjette enhetsklassen ut fra skjermstørrelsen er upålitelig: resultatet kan endre seg med orientering, skjermskalering eller vindusstørrelse.

KlugDeviceType spør selve operativsystemet. På Android bruker den enhetens minste skjermbredde i tetthetsuavhengige piksler (600 dp eller mer er et nettbrett), den samme regelen Android bruker for sine egne layouter. På iOS bruker den systemets device idiom, som skiller en iPad fra en iPhone.

Svaret er det samme i stående og liggende format, uavhengig av hvordan appen din skalerer innholdet, fra appens første bilde.

Funksjoner

  • Selvstendig: én ANE, ingen kjernebibliotek eller avhengige ANE-er å legge til
  • Telefon eller nettbrett, besvart av operativsystemet
  • Stabilt på tvers av orientering og appskalering
  • Den minste skjermbredden i dp (points på iOS), for dine egne terskler
  • Tilgjengelig ved appstart, før første layout
  • Ingen tillatelse nødvendig

Støttede plattformer

Android arm64 · armv7
iOS arm64

På andre plattformer returnerer isSupported false, og deviceType er en tom streng.

Kom i gang

Legg utvidelsen til i applikasjonsbeskrivelsen din:

app.xml
<extensions>
    <extensionID>com.klug.devicetype</extensionID>
</extensions>

Kodeeksempler

Tre komplette flyter. Gettere returnerer med en gang og trenger ingen tillatelse; hver lesing spør operativsystemet på nytt. Full dokumentasjon →

1 · Velg layout ved start
Layout.as
import com.klug.devicetype.DeviceType;

var type:DeviceType = DeviceType.getInstance();

// the same answer in portrait and landscape, available before the first layout
if ( !type.isSupported )     useDesktopLayout();   // other platforms: deviceType is ""
else if ( type.isTablet )   useTabletLayout();    // Android: 600 dp or more · iOS: iPad
else                        usePhoneLayout();
2 · Dine egne breakpoints
Grid.as
// dp on Android, points on iOS; -1 where not available
var sw:int = type.smallestWidthDp;
var columns:int;

if ( sw >= 720 )        columns = 3;   // large tablet
else if ( sw >= 600 )   columns = 2;   // small tablet
else                    columns = 1;   // phone, or -1: not available

buildGrid( columns );
3 · Følg en sammenleggbar enhet når den åpnes eller lukkes
Resize.as
import flash.events.Event;

var current:String = type.deviceType;

// every read asks the system again, nothing is cached
stage.addEventListener( Event.RESIZE, function( e:Event ):void {
    var now:String = type.deviceType;
    if ( now == current ) return;   // a rotation alone never changes it
    current = now;
    rebuildLayout( now );            // Android: opening a foldable can turn "phone" into "tablet"
});

// iOS: isTablet follows the device (iPad) and does not change;
// smallestWidthDp follows the screen the app is shown on

API-oversikt

DeviceType.getInstance()Returnerer den ene instansen.
isSupportedTrue på Android og iOS.
isTabletTrue på et nettbrett: Android 600 dp eller mer, iOS iPad; false på andre plattformer.
isPhoneTrue på en telefon; false på andre plattformer.
deviceType"tablet" eller "phone"; en tom streng på andre plattformer.
smallestWidthDpDen minste skjermdimensjonen: dp på Android, points på iOS; -1 der den ikke er tilgjengelig.

Kjøp KlugDeviceType

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)
iOSiOS 17 eller nyere
AndroidAndroid 6.0 (API 23) eller nyere
TillatelserIngen