$env · Môi trường hiển thị

$env cung cấp kích thước, chủ đề, chế độ hiển thị, đơn vị và ngôn ngữ của nhạc cụ hiện tại, được sử dụng để điều chỉnh cùng một mã để hiển thị các tình huống như điện thoại di động và HUD.

Kích thước và bố cục

width, height là chiều rộng và chiều cao của vùng hiện có của thiết bị, tính theo điểm trên màn hình và thay đổi tùy theo kích thước thẻ cũng như môi trường hiển thị. Chúng không phải là độ phân giải của toàn bộ điện thoại cũng như số lượng pixel trong hình ảnh.

Phông chữ, bán kính đồ họa và tọa độ điểm cuối cần điều chỉnh kích thước phải được tính toán bằng cách sử dụng chiều rộng và chiều cao này trong main(). Vòng tròn 120 điểm cố định luôn sử dụng kích thước cố định; để làm cho nó thay đổi tùy theo thẻ, hãy tính đường kính bằng cách sử dụng giá trị nhỏ hơn của chiều rộng và chiều cao có sẵn.

Chủ đề, chế độ hiển thị và đơn vị

foreground là màu văn bản phù hợp với nền hiện tại, accent là màu nhấn và dark thể hiện giao diện tối hiện tại. Giá trị của mode là instruments hoặc hud, biểu thị đồng hồ đo bình thường hoặc màn hình HUD.

speedUnit đại diện cho đơn vị hiển thị tốc độ hiện tại, language là ngôn ngữ Ứng dụng và reduceMotion đại diện cho cài đặt hiệu ứng động làm suy yếu hệ thống. obdDevice cung cấp id và name của thiết bị hiện được kết nối hoặc trống nếu không có thiết bị sẵn sàng. Nhãn đơn vị nên được sử dụng với các giá trị số; việc thay đổi nhãn sẽ không chuyển đổi giá trị số.

Ví dụ: Thích ứng chế độ hiển thị

Ví dụ sau đây sử dụng cỡ chữ lớn hơn trong chế độ HUD và sử dụng đơn vị tốc độ và màu sắc của văn bản chủ đề hiện tại.

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

cập nhật môi trường

CapDrive cung cấp thông tin đầu vào mới khi kích thước, chủ đề hoặc các trường hợp khác thay đổi. Đặt các phép tính phụ thuộc vào $env bên trong main() để đảm bảo rằng lần rút tiếp theo sẽ sử dụng các giá trị mới. Các hiệu ứng hoạt ảnh lặp lại được điều chỉnh theo reduceMotion để tránh bỏ qua tùy chọn hệ thống của người dùng.

Cánh đồng

widthnumber

Chiều rộng

heightnumber

Chiều cao

darkboolean

Giao diện tối

foregroundstring

Màu văn bản

mode"instruments" | "hud"

Chế độ hiển thị

speedUnit"km/h" | "mph"

Đơn vị tốc độ

languagestring

Ngôn ngữ ứng dụng

reduceMotionboolean

Giảm chuyển động

accentstring

Màu nhấn

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

Thiết bị OBD