Khi phát triển ứng dụng Android bằng Delphi XE10.2.2 Tokyo, việc thiết lập màn hình khởi động (Splash) tự thích ứng với các thiết bị khác nhau và thanh trạng thái immersive là hai tính năng quan trọng. Bài viết này sẽ hướng dẫn bạn cách thực hiện hiệu quả.
Yêu cầu tiên quyết là bạn đã cài đặt hoàn chỉnh môi trường SDK cho Delphi XE10.2.2 Tokyo và có khả năng tạo, phát hành, gỡ lỗi ứng dụng Multi-Device.
Để đạt được hiệu ứng native, việc hiểu biết về lập trình Java cho Android là cần thiết, vì Delphi cần tích hợp với các thành phần hệ điều hành Android.
Thiết lập Splash Tự Thích Ứng
Delphi sử dụng công cụ cấu hình kích thước Splash hạn chế, gây ra vấn đề biến hình trên các thiết bị có tỷ lệ màn hình khác nhau. Giải pháp là sử dụng file ảnh Android XXX.9.png cho phép tự động kéo giãn mà không bị méo mó.
Để thực hiện:
- Tạo hai thư mục mới trong dự án: values-v19 và values-v21
- Trong mỗi thư mục, tạo file style.xml với nội dung sau:
File values-v19/style.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="@android:style/Theme.NoTitleBar">
<item name="android:windowBackground">@drawable/splash_image</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
</resources>
File values-v21/style.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="@android:style/Theme.NoTitleBar">
<item name="android:windowBackground">@drawable/splash_image</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>
Giải thích các tham số quan trọng:
<item name="android:windowBackground">@drawable/splash_image</item>
- Thiết lập nền cửa sổ sử dụng ảnh splash đã được chuẩn bị
- @drawable/splash_image tham chiếu đến file ảnh trong Project Options -> Deployment
<item name="android:windowTranslucentStatus">true</item>
- Kích hoạt chế độ trong suốt cho thanh trạng thái
<item name="android:windowTranslucentNavigation">false</item>
- Thiết lập chế độ trong suốt cho thanh điều hướng (đặt thành true để thử nghiệm hiệu ứng khác)
Triển khai
Sau khi tạo các file style.xml, cần thêm chúng vào phần Deployment với Remote Path tương ứng để hệ thống Android tự động chọn phiên bản phù hợp nhất với thiết bị.
Khi chạy ứng dụng, bạn sẽ thấy hiệu ứng thanh trạng thái immersive. Màn hình splash sẽ tự động điều chỉnh theo kích thước thiết bị nhờ file .9.png đã chuẩn bị.
Để có hiệu ứng tốt nhất, hãy đảm bảo file splash_image.png của bạn đã được tối ưu hóa theo định dạng Android .9.png trước khi triển khai.