$env · Görüntüleme ortamı

$env, aynı kodu cep telefonları ve HUD gibi görüntüleme senaryolarına uyarlamak için kullanılan mevcut enstrümanın boyutunu, temasını, görüntüleme modunu, birimini ve dilini sağlar.

Boyut ve düzen

width, height, cihazın mevcut kullanılabilir alanının ekran noktalarındaki genişliği ve yüksekliğidir ve kart boyutuna ve görüntüleme ortamına göre değişir. Bunlar telefonun tamamının çözünürlüğü veya görüntüdeki piksel sayısı değildir.

Boyuta göre ayarlanması gereken yazı tipleri, grafik yarıçapı ve uç nokta koordinatları, main()'daki bu genişlik ve yükseklik kullanılarak hesaplanmalıdır. 120 noktalı sabit bir daire her zaman sabit bir boyut kullanır; Karta göre değişmesini sağlamak için mevcut genişlik ve yükseklikten daha küçük olan değeri kullanarak çapı hesaplayın.

Tema, görüntüleme modu ve birimler

foreground geçerli arka plana uygun metin rengidir, accent vurgu rengidir ve dark geçerli koyu görünümü temsil eder. mode değeri instruments veya hud olup, normal bir ölçüm cihazını veya HUD ekranını belirtir.

speedUnit mevcut hız görüntüleme birimini temsil eder, language Uygulama dilini ve reduceMotion sistem zayıflatma dinamik efekt ayarını temsil eder. obdDevice, o anda bağlı olan cihazın id ve name bilgilerini sağlar veya hazır cihaz yoksa boştur. Sayısal değerlerle birlikte birim etiketleri kullanılmalı; etiketin kendisini değiştirmek sayısal değeri dönüştürmez.

Örnek: Ekran modunu uyarlama

Aşağıdaki örnek, HUD modunda daha büyük bir yazı tipi boyutu kullanır ve geçerli tema metni rengini ve hız birimlerini kullanır.

function main() {
  return (
    <Text fontSize={$env.mode === 'hud' ? 72 : 48} color={$env.foreground}>
      {$env.speedUnit}
    </Text>
  );
}

ortam güncellemesi

CapDrive boyutlar, temalar veya diğer koşullar değiştiğinde yeni girdiler sağlar. Bir sonraki çekilişin yeni değerleri kullanmasını sağlamak için $env'ye bağlı hesaplamaları main() içine koyun. Tekrarlanan animasyon efektleri, kullanıcının sistem tercihlerinin göz ardı edilmesini önlemek için reduceMotion'ye göre ayarlanır.

Alan

widthnumber

Genişlik

heightnumber

Yükseklik

darkboolean

Koyu görünüm

foregroundstring

Metin rengi

mode"instruments" | "hud"

Görüntüleme modu

speedUnit"km/h" | "mph"

Hız birimi

languagestring

Uygulama dili

reduceMotionboolean

Hareketi Azalt

accentstring

Vurgu rengi

obdDevice{ id: string; name: string } | null

OBD cihazı