İlk hız göstergenizi yapın
Hızı ve birimleri gösteren bir sayaç yapın. Komut dosyasının tamamında main(), Text ve VStack'nin nasıl kullanıldığını öğrenin, görünümü önizleyin ve kontrol paneline kaydedin.
{ value: 42.3, unit: "km/h" }1. Gösterge oluşturup hızı seçin
Kontrol panelinde Diğer(…)→ Özel göstergeler öğesini açın ve Yeni gösterge ekle öğesini seçin. Yeni sayaç halihazırda bir temel hız girişiyle birlikte geliyor.
- Düzenleyicinin üst kısmındaki isme tıklayın, Gösterge ayarları adresine gidin ve buna "My Speed" adını verin.
- Parametre yapılandırması'yi açmak için Giriş bağlantıları'nin yanındaki dişliye tıklayın. Hız girişini kontrol edin: tanımlayıcı
speed, tür Temel veriler, kaynak Hız. Eksikse yeni bir tane oluşturmak için Parametre ekle kullanın. - Ayarlara geri dönüp kaydetmek için Bitti öğesine tıklayın, ardından düzenleme alanına dönün.
Betik hızı $data.current.speed aracılığıyla okur; burada alan adları giriş tanımlayıcısından gelir. Düzenleyici, tanımlandığı şekilde tür ipuçları sağlar. Bu örnek OBD bağlamasını gerektirmez.
2. Kodun tamamını yapıştırın
Düzenleme alanının orijinal içeriğinin tamamını aşağıdaki kodun tamamıyla değiştirin. Başka bir main() içine sarmayın. Bu örnekte yalnızca bir giriş işlevi vardır.
Şimdilik kodu aynı tutalım. Her çizilmesi gerektiğinde mevcut hızı okuyacak, değerleri ve birimleri yukarı ve aşağı düzenleyecek; eksik bir okuma olduğunda yatay bir çizgi gösterecektir. Bir sonraki bölümde bunu yürütme sırasına göre açıklıyoruz.
function main() {
const speed = $data.current.speed;
return (
<VStack spacing={8}>
<Text fontSize={64} color={$env.foreground}>
{speed?.value == null ? '—' : Math.round(speed.value)}
</Text>
<Text fontSize={16} color={$env.accent}>
{speed?.unit ?? $env.speedUnit}
</Text>
</VStack>
);
}
Koddan göstergeye
Önce verilere, sonra resme bakın. Diyelim ki bu sefer speed { value: 42.3, unit: "km/h" } olsun:
const speed = $data.current.speedBu okumayı alın. Buradaspeedsayının kendisini değil, sayısal değerleri ve birimleri içeren bir nesnedir.speed?.value == nulleksik ölçümleri kontrol eder. Nesne mevcut olmadığında veya değer boş olduğunda'—'seçilir; değer0olduğunda bu dallanma alınmayacaktır.Math.round(speed.value),42.3'yi42'ye yuvarlar ve görüntülenmesi için ilkText'e verir. Yuvarlama yalnızca bu sayacın görüntüsünü etkiler ve orijinal okumayı değiştirmez.- İkinci
Text,speed.unitöğesini görüntüler. Şu anda hiçbir birim olmadığında,?? $env.speedUnitgeçerli görüntüleme ortamının hız birimini kullanır. VStackiki metni üst üste düzenler vespacing={8}aralarındaki boşluğu kontrol eder.
$env.foreground ve $env.accent geçerli temanın metnini ve vurgu renklerini sağlar. Tema değiştiğinde bu renkler güncellenecektir.
Eksik testleri yargılamak için speed?.value || '—' kullanmayın: JavaScript geçerli sıfırları yanlış değerler olarak değerlendirerek park ederken yatay çizginin yanlış görüntülenmesine neden olur.
3. Görünümü önizleyin
Düzenleyicinin alt kısmındaki Önizleme öğesine tıklayın. Üstte daha büyük bir hız numarası ve alt satırda daha küçük birimler görmelisiniz. Önizlemedeki sayılar, aracın çalıştırılmasını gerektirmeyen simüle edilmiş değerlerdir ve cep telefonunun o anda ölçtüğü hıza eşit olması gerekmez.
Daha sonra üç küçük değişiklik yapın ve her seferinde ön izleme yapın:
| Tekrar düzeltme yapmak | Görmeniz gereken değişiklikler |
|---|---|
fontSize={64}, 48 olarak değiştirildi |
Ana sayı küçülür. |
spacing={8}, 16 olarak değiştirildi |
Sayılar ve birimler birbirinden daha uzaktadır. |
Ana numaranın rengi $env.accent olarak değiştirildi |
Ana sayılar için vurgu renkleri kullanın. |
Farklı boyutlara ve açık ve koyu temalara göz atın. İçerik belirli bir boyutta kırpıldığında, önce yazı tipi boyutunu veya aralığını azaltın ve ardından gözlemleyin. Yerleşim sorunlarını örtbas etmek için çok sayıda x/y ofsetleri kullanmayın.
Bir hata oluşursa, orijinal durumuna geri yükleyin ve günlükteki satır numarasına göre kontrol edin. Önizleme sırasında sağ üst köşe Günlükler; önizlemeyi kapatıp düzenleme durumuna döndükten sonra sağ üst köşe Kaydet'ye döner. Başarılı bir önizleme yalnızca bu simülasyon girişleri setinin görüntülenebileceği ve bir sonraki adımda gerçek verilerin kontrol edilmesi gerektiği anlamına gelir.
4. Kaydedip panele ekleyin
Önizlemeyi kapatın, Kaydet öğesine tıklayın, düzenleyiciden çıkın ve cihaz kitaplığında "My Speed" öğesini bulun. Diğer(…)→ Gösterge panelini düzenle dosyasını tekrar açın, eklemek için + öğesine tıklayın ve son olarak Bitti öğesine tıklayın.
Bu noktada kart gerçek hızı okuyacak şekilde değişir. Doğrulama için onu ve yerleşik hız ölçeri aynı sayfaya koyabilirsiniz: aynı temel hız alanını kullandıklarında değerler karşılık gelmelidir; Farklı ondalık tutma yöntemleri nedeniyle ekran biraz farklı olabilir.
| Gerçek ekran | Sonraki adım |
|---|---|
0 ve hız birimi |
Sıfır hıza ulaşıldı ve eksik test mantığını düzeltmeye gerek yok. |
— |
Hızın seçildiğini doğrulamak için ayarlara geri dönün ve ardından konumlandırma izinlerini ve mevcut sinyalleri kontrol edin. |
| Kütüphanede sayaçlar var ama sayfada yok. | "Kontrol Panelini Düzenle → Ekle" adımı henüz tamamlanmadı. |
| Yalnızca önizlemede sayılar var | Önizleme simüle edilmiş girdidir; gerçek veri kaynağını kontrol etmeye devam edin. |
Bu noktada ilk enstrüman tamamlanmıştır. Bir sonraki makalede, "hız kazanma" ifadesini "kendi OBD parametrenizi edinin" ile değiştirin; düzen ve görüntüleme kodu kullanılmaya devam edebilir.