$env · Lingkungan tampilan

$env menyediakan ukuran, tema, mode tampilan, unit dan bahasa instrumen saat ini, yang digunakan untuk mengadaptasi kode yang sama untuk skenario tampilan seperti ponsel dan HUD.

Ukuran dan tata letak

width, height adalah lebar dan tinggi area instrumen yang tersedia saat ini, dalam titik layar, dan bervariasi menurut ukuran kartu dan lingkungan tampilan. Ini bukan resolusi keseluruhan ponsel, juga bukan jumlah piksel pada gambar.

Font, radius grafik, dan koordinat titik akhir yang perlu disesuaikan dengan ukurannya harus dihitung menggunakan lebar dan tinggi ini di main(). Lingkaran tetap dengan 120 titik selalu menggunakan ukuran tetap; untuk membuatnya berbeda dengan kartu, hitung diameternya menggunakan nilai yang lebih kecil dari lebar dan tinggi yang tersedia.

Tema, mode tampilan, dan satuan

foreground adalah warna teks yang sesuai dengan latar belakang saat ini, accent adalah warna aksen, dan dark mewakili tampilan gelap saat ini. Nilai mode adalah instruments atau hud, menunjukkan tampilan meteran normal atau HUD.

speedUnit mewakili unit tampilan kecepatan saat ini, language adalah bahasa Aplikasi, dan reduceMotion mewakili pengaturan efek dinamis pelemahan sistem. obdDevice menyediakan id dan name dari perangkat yang terhubung saat ini, atau kosong jika tidak ada perangkat yang siap. Label unit harus digunakan dengan nilai numerik; mengubah label itu sendiri tidak akan mengonversi nilai numerik.

Contoh: Menyesuaikan mode tampilan

Contoh berikut menggunakan ukuran font yang lebih besar dalam mode HUD, dan menggunakan unit warna dan kecepatan teks tema saat ini.

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

pembaruan lingkungan

CapDrive memberikan masukan baru ketika dimensi, tema, atau keadaan lain berubah. Masukkan penghitungan yang bergantung pada $env ke dalam main() untuk memastikan bahwa pengundian berikutnya menggunakan nilai baru. Efek animasi yang berulang disesuaikan menurut reduceMotion untuk menghindari pengabaian preferensi sistem pengguna.

Bidang

widthnumber

Lebar

heightnumber

Tinggi

darkboolean

Tampilan gelap

foregroundstring

Warna teks

mode"instruments" | "hud"

Mode tampilan

speedUnit"km/h" | "mph"

Satuan kecepatan

languagestring

Bahasa aplikasi

reduceMotionboolean

Kurangi Gerakan

accentstring

Warna aksen

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

Perangkat OBD