توضّح هذه الصفحة كيفية معالجة البيانات الدورانية في VHAL وتهيئة التصميم. لتضمين خدمة الدوران وطريقة تخصيص تجربة الدوران في جميع التطبيقات. بالنسبة إلى تطبيقات المصنّع الأصلي للجهاز المثبَّتة مسبقًا، مثل مشغّل التطبيقات الذي يوفّره المصنّع الأصلي للجهاز، يُرجى الاطّلاع على مكتبة واجهة مستخدم السيارات (مكتبة واجهة المستخدم للسيارات)
حملة VHAL
تتيح وحدة التحكّم الدوارة تنفيذ الإجراءات التالية:
- دفع إلى الأعلى والأسفل واليسار واليمين.
- تدوير في اتجاه عقارب الساعة وعكس عقارب الساعة
- اضغط على الزر "مركز".
- اضغط على الزر "رجوع".
- اضغط على زر الشاشة الرئيسية.
- اضغط على أزرار أخرى، مثل الهاتف والوسائط.
يمكنك الانتقال إلى hardware/interfaces/automotive/vehicle/2.0/types.hal
للحصول على مستندات حول
خصائص النظام وint32Values
المقابل
يجب أن تتعامل VHAL مع هذه الإجراءات:
تنبيه
عندما يدفع المستخدم وحدة التحكم الدوارة إلى اليمين، يجب أن يستخدم VHAL
السمة HW_KEY_INPUT
مع السمة int32Values
التالية لإرسال
على Android:
ACTION_DOWN
KEYCODE_SYSTEM_NAVIGATION_RIGHT
- الشبكة الإعلانية المستهدفة.
عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن يستخدم VHAL نفس الخاصية
مع ACTION_UP
. يجب أن تستخدم التذكيرات التلقائية في الاتجاهات الأخرى
رموز المفاتيح المقابلة.
لا يوجد رموز مفاتيح للخطوط القطرية ولكن يمكن أن يجمع VHAL بين أفقي ورأسي. لإنتاج قطري إذا كان الجهاز يدعم القطر. على سبيل المثال، تحفيز وعلى اليسار سينتج عن ذلك:
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_DOWN
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_DOWN
في أي من الترتيبين (وبالتالي)، ينبغي أن ينتج عن تحرير وحدة التحكم الدوارة ما يلي:
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_UP
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_UP
ويمكن للمستخدم دفع وحدة التحكم الدوارة في اتجاه عمودي قبل رفعها. على سبيل المثال، السيناريو التالي:
من المفترض أن يؤدي ذلك إلى إنشاء التسلسل التالي من الأحداث:
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_DOWN
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_DOWN
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_UP
HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_UP
يجب عدم إنشاء أحداث تكرار أثناء الاحتفاظ بوحدة التحكم الدوارة. في اتجاه واحد.
تدوير
عندما يقوم المستخدم بتدوير وحدة التحكم الدوارة في اتجاه عقارب الساعة من خلال طرف واحد (بالنقر)، فإن VHAL
يجب استخدام السمة HW_ROTARY_INPUT
مع السمة int32Values
التالية.
لإرسال حدث إلى Android:
ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION
- شريط واحد (1).
- الشبكة الإعلانية المستهدفة.
يجب ضبط الطابع الزمني للحدث على الوقت المنقضي بالنانو ثانية.
يجب أن يؤدي تدوير واحد (1) عكس اتجاه عقارب الساعة إلى إنشاء الحدث نفسه ولكن -1 لعدد السجلات.
في حالة حدوث تكرارات متعددة للدوران في نفس الاتجاه في تتابع سريع، فإن VHAL
دمج المعلومات في حدث واحد كي لا يتم إثقال النظام بالأحداث
وفي هذه الحالة، يجب أن يكون الطابع الزمني للحدث هو الوقت الذي حدث فيه أول اتجاه للتدوير.
يجب أن تتضمّن السمة int32Values
عدد وحدات النانو ثانية بين الوحدات المتتالية.
من التناوب.
على سبيل المثال، التسلسل التالي لعمليات التدوير:
- في الوقت t0، قام المستخدم بتدوير إحدى الواصلات عكس عقارب الساعة.
- في الوقت t0 + 5 ns، قام المستخدم بتدوير واحد عكس عقارب الساعة.
- في الوقت t0 + 8 ns، قام المستخدم بتدوير واحد عكس عقارب الساعة.
إنشاء هذا الحدث:
- الموقع:
HW_ROTARY_INPUT
- الطابع الزمني:
t0
int32Values
:ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION
- -3 (ثلاثة فواصل عكس عقارب الساعة).
- الشبكة الإعلانية المستهدفة.
- 5 نانو ثانية بين الحد الأول والثاني.
- 3 نانو ثانية بين الطرف الثاني والثالث.
الزر الأوسط
عندما يضغط المستخدم على الزر "مركز"، يجب أن تستخدم "VHAL" الزر "HW_KEY_INPUT
"
مع السمة int32Values
التالية لإرسال حدث إلى Android:
ACTION_DOWN
KEYCODE_DPAD_CENTER
- الشبكة الإعلانية المستهدفة.
عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن تستخدم VHAL نفس الخاصية
ورمز المفتاح مع ACTION_UP
.
عدم إنشاء أحداث تكرار عند الضغط مع الاستمرار على زر "المركز"
زر الرجوع
عندما يضغط المستخدم على الزر "رجوع"، يجب أن تستخدم "VHAL" الزر "HW_KEY_INPUT
"
مع السمة int32Values
التالية لإرسال حدث إلى Android:
ACTION_DOWN
KEYCODE_BACK
- الشبكة الإعلانية المستهدفة.
عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن تستخدم VHAL نفس الخاصية
ورمز المفتاح مع ACTION_UP
.
يجب عدم إنشاء أحداث تكرار أثناء الضغط مع الاستمرار على زر الوسط.
زر الصفحة الرئيسية
التعامل مع زر "الشاشة الرئيسية" تمامًا كما تتعامل مع زر "الرجوع" ولكن مع "KEYCODE_HOME
" بدلاً من ذلك
من KEYCODE_BACK
.
أزرار أخرى
إذا كانت وحدة التحكم الدوارة تحتوي على أي أزرار إضافية، فيمكن لـ VHAL التعامل معها، ولكن
التي يفضّلها المصنّع الأصلي للجهاز لأنّها لا تُعدّ جزءًا من نظام التشغيل الدوّار من منظور Android.
يتم التعامل معهما عادةً مثل زرَّي "الرجوع" و"الصفحة الرئيسية" ولكن برموز مفاتيح مختلفة.
على سبيل المثال، KEYCODE_CALL
أو KEYCODE_MUSIC
.
إعداد التصميم
تتوفّر ميزة التنقّل الدوّار من خلال خدمة لتسهيل الاستخدام تُسمى RotaryService
.
لتضمين هذه الخدمة في صورة النظام لجهازك، أضِف السطر التالي إلى
makefile:
PRODUCT_PACKAGES += CarRotaryController
قد تحتاج أيضًا إلى تضمين حزم المتابعة في إصدارات تصحيح الأخطاء:
RotaryPlayground
تطبيق مرجعي للأجهزة الدوّارة (يُرجى الاطّلاع على RotaryPlayground).RotaryIME
محرر أسلوب إدخال تجريبي (راجِع أدوات تحرير أساليب الإدخال)CarRotaryImeRRO
تراكبRotaryIME
.
يتم تفعيل خدمة وحدة الدوران تلقائيًا عند تشغيل الجهاز وعندما أحد المستخدمين حدوث التبديل. يضمن هذا أنه يمكن للمستخدم استخدام وحدة التحكم الدوارة أثناء الإعداد.
إذا كنت تستخدم الإصدار نفسه للسيارات المزوّدة بوحدة تحكّم دوّارة أو بدونها،
إضافة CarRotaryController
كما هو موضح أعلاه بحيث يتم تضمين الرمز اللازم
في الإصدار. لمنع تفعيل خدمة الدوّارة على السيارات غير الدوّارة، أنشئ
RRO ثابت لتراكب مورد السلسلة rotaryService
في
packages/services/Car/service
بسلسلة فارغة. ستستخدم نفس الإصدار،
ولكن لها إعدادات منتج منفصلة، للأجهزة الدوّارة وغير الدوّارة. الأخير فقط
يتضمن التراكب.
التخصيص
يمكن للمصنّعين الأصليين للأجهزة تخصيص منطق البحث عن التركيز، وإبراز التركيز، وبعض العناصر الإضافية من خلال تراكبات الموارد في المواقع التالية:
- توجد مكتبة Car-ui-library في
packages/apps/Car/libs/car-ui-lib
. RotaryService
مَوْجُودْ فِيpackages/apps/Car/RotaryController
Core
مَوْجُودْ فِيframeworks/base/core
سجلّ التذكيرات التلقائية
يمكن للمصنّع الأصلي للجهاز ضبط ما إذا كان قد تم تفعيل كل نوع من نوعي سجلّ الإشعارات الفورية أم لا، وفي هذه الحالة، حجم ذاكرة التخزين المؤقت وسياسة انتهاء الصلاحية. يتم كل ذلك من خلال تجاوز العديد من مكتبات واجهة المستخدم الموارد.
التركيز على ذاكرة التخزين المؤقت للسجلّ
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
تُخزِّن هذه النسخة المخزَّنة مؤقتًا لكل FocusArea
طريقة العرض الأكثر تركيزًا ضمن
FocusArea
بحيث يمكن التركيز عليه عند الرجوع إلى FocusArea
.
يمكن ضبط ذاكرة التخزين المؤقت هذه من خلال تركيب موارد مكتبة واجهة السيارة التالية:
-
car_ui_focus_history_cache_type
:- ذاكرة التخزين المؤقت غير مفعّلة.
- ستنتهي صلاحية ذاكرة التخزين المؤقت بعد بعض الوقت (انظر أدناه).
- لن تنتهي صلاحية ذاكرة التخزين المؤقت أبدًا.
car_ui_focus_history_expiration_period_ms
: كم عدد المللي ثانية قبل وتنتهي صلاحية ذاكرة التخزين المؤقت إذا تم تعيين نوع ذاكرة التخزين المؤقت على اثنين (2) (انظر أعلاه).
ذاكرة التخزين المؤقت لسجلّ FocusArea
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
وتخزِّن ذاكرة التخزين المؤقت هذه سجلّ التذكيرات التلقائية حتى يمكن
إعادة التركيز إلى FocusArea
نفسه. يمكن تهيئة ذاكرة التخزين المؤقت هذه عن طريق تركيب
موارد مكتبة Car-ui التالية:
-
car_ui_focus_area_history_cache_type
:- ذاكرة التخزين المؤقت غير مفعّلة.
- تنتهي صلاحية ذاكرة التخزين المؤقت بعد مرور بعض الوقت (انظر أدناه).
- لا تنتهي صلاحية ذاكرة التخزين المؤقت أبدًا.
car_ui_focus_area_history_expiration_period_ms
: كم المللي ثانية قبل تنتهي صلاحية ذاكرة التخزين المؤقت إذا تم تعيين نوع ذاكرة التخزين المؤقت على 2 (انظر أعلاه).car_ui_clear_focus_area_history_when_rotating
: تحديد ما إذا كان سيتم إبطال ذاكرة التخزين المؤقت عندما يقوم المستخدم بتدوير وحدة التحكم.
الدوران
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
يمكن للمصنّع الأصلي للجهاز إلغاء موردَين صحيحَين في RotaryService
لتحديد ما إذا كان
هناك تسريع، مثل تسريع الماوس، للتدوير:
rotation_acceleration_3x_ms
: الفاصل الزمني (بالمللي ثانية) المستخدَم لتحديد ما إذا كان ينبغي لـ Google تسريع دوران وحدة التحكم من أجل تنظيم الدوران أم لا. إذا كانت الفاصل بين هذا الموضع ونقطة الدوران السابقة أصغر من هذه القيمة، فسيتم التعامل معه على أنه ثلاثة عناصر للدوران. عيِّن هذا على 2147483647 لإيقاف الوضع 3× والتسريع.rotation_acceleration_2x_ms
: مشابه لـrotation_acceleration_3x_ms
يتم استخدامه لتسريع 2x. ويمكنك ضبط هذا الخيار على2147483647
لإيقاف خيار "التسريع 2×".
يعمل التسريع بشكل أفضل عندما تكون هناك طوابع زمنية فردية لكل موضع
تدوير، مثل
مطلوب
بواسطة VHAL. وإذا لم تكن هذه المعلومات متاحة، تفترض السمة RotaryService
أنّ معلومات
التدوير متباعدان بشكل متساوٍ.
/** * Property to feed H/W rotary events to android * * int32Values[0] : RotaryInputType identifying which rotary knob rotated * int32Values[1] : number of detents (clicks), positive for clockwise, * negative for counterclockwise * int32Values[2] : target display defined in VehicleDisplay. Events not * tied to specific display must be sent to * VehicleDisplay#MAIN. * int32values[3 .. 3 + abs(number of detents) - 2]: * nanosecond deltas between pairs of consecutive detents, * if the number of detents is > 1 or < -1 * * VehiclePropValue.timestamp: when the rotation occurred. If the number of * detents is > 1 or < -1, this is when the * first detent of rotation occurred. * * @change_mode VehiclePropertyChangeMode:ON_CHANGE * @data_enum RotaryInputType * @access VehiclePropertyAccess:READ */ HW_ROTARY_INPUT = ( 0x0A20 | VehiclePropertyGroup:SYSTEM | VehiclePropertyType:INT32_VEC | VehicleArea:GLOBAL),
التركيز على اللحظات المميّزة
يمكن للمصنّع الأصلي للجهاز إلغاء تمييز التركيز التلقائي في إطار عمل Android العديد من الموارد التي تسلط الضوء على البيئة في مكتبة واجهة المستخدم.
إبراز التركيز التلقائي
يوفّر إطار عمل Android ميزة إبراز التركيز التلقائي من خلال السمة.
selectableItemBackground
في Theme.DeviceDefault
، سيتم
تشير إلى item_background.xml
في Core
. يمكن للمصنّع الأصلي للجهاز تركيب
item_background.xml
لتغيير عنصر التركيز التلقائي القابل للرسم.
يجب أن يكون هذا العنصر القابل للرسم عادةً StateListDrawable
الذي يضبط الخلفية.
بالاستناد إلى مجموعات مختلفة من الحالات، من بينها android:state_focused
وandroid:state_pressed
. عندما يستخدم المستخدم وحدة التحكم الدوارة
تركيز عرض، android:state_focused
ستكون true
، ولكن
سيكون android:state_pressed
false
. إذا ضغط المستخدم بعد ذلك
الزر الأوسط في وحدة التحكم الدوارة، لكل من android:state_focused
سيصبح android:state_pressed
true
عندما يضغط المستخدم على الزر.
عندما يسحب المستخدم الزر، سيظل android:state_focused
فقط.
true
تستخدم مكتبة Car-ui-library مظهرًا مشتقًا من Theme.DeviceDefault
. وبالتالي
يؤثر هذا التراكب في التطبيقات التي تستخدم هذه المكتبة والتطبيقات التي تستخدم أي مظهر مشتق من
Theme.DeviceDefault
لن يؤثر ذلك في التطبيقات التي تستخدم موضوعًا غير ذي صلة.
مثل Theme.Material
.
التركيز على موارد التمييز في مكتبة واجهة المستخدم
يمكن للمصنّع الأصلي للجهاز إلغاء العديد من موارد مكتبة واجهة المستخدم للتحكم في كيفية إبراز التركيز
تبحث عن طرق عرض بتركيز غير مستطيل (مثل شكل دائري أو شكل دوّارة)،
التطبيقات التي تستخدم مظهرًا غير مشتق من Theme.DeviceDefault
. هذه
الموارد بحيث يكون التركيز على التركيز متسقًا مع
التركيز التلقائي للرسم.
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
تُستخدم الموارد التالية للإشارة إلى وقت التركيز على العرض ولكن عدم الضغط عليه:
car_ui_rotary_focus_fill_color
: لون التعبئةcar_ui_rotary_focus_stroke_color
: لون المخططcar_ui_rotary_focus_stroke_width
: سُمك المخطط
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
تُستخدم الموارد التالية للإشارة إلى وقت التركيز والضغط على طريقة العرض:
car_ui_rotary_focus_pressed_fill_color
: لون التعبئةcar_ui_rotary_focus_pressed_stroke_color
: لون المخططcar_ui_rotary_focus_pressed_stroke_width
: سُمك المخطط
في بعض الأحيان يتم إعطاء زر لون خلفية بلون خالص لجذب انتباه المستخدم، كما في المثال الموضح. وقد يؤدي ذلك إلى صعوبة رؤية التركيز على التركيز.
في هذه الحالة، يمكن لمطوّر البرامج تحديد موضع تركيز مخصّص باستخدام الألوان الثانوية:
- (Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
car_ui_rotary_focus_fill_secondary_color
car_ui_rotary_focus_stroke_secondary_color
- (نظام التشغيل Android 12)
car_ui_rotary_focus_pressed_fill_secondary_color
car_ui_rotary_focus_pressed_stroke_secondary_color
ويمكن أن يكون أي لون شفافًا ويمكن أن يكون أي من البعدين صفرًا إذا، على سبيل المثال، تعبئة فقط أو مخطط تفصيلي فقط.
تمييز FocusArea
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
يمكن للميزة "FocusArea
" رسم نوعَين من العناصر المميّزة عندما يكون أحد العناصر التابعة لها
التركيز. ويمكن استخدام كلتا الشبكتين إذا أردت ذلك. يتم إيقاف هذه الميزة تلقائيًا في
AOSP، ولكن يمكن تفعيله من خلال تجاوز موارد مكتبة واجهة مستخدم السيارة:
car_ui_enable_focus_area_foreground_highlight
: رسم تمييز أعلىFocusArea
وعناصره الفرعية. في AOSP، هذا قابل للرسم عبارة عن مخطط تفصيلي حولFocusArea
. يمكن للمصنّعين الأصليين للأجهزة إلغاءcar_ui_focus_area_foreground_highlight
قابل للرسم.car_ui_enable_focus_area_background_highlight
: رسم تمييز أعلى الرمزFocusArea
ولكن ما وراءها. في AOSP، هذا العنصر القابل للرسم هو تعبئة ثابتة. يمكن للمصنّعين الأصليين للأجهزة تجاوز عناصرcar_ui_focus_area_background_highlight
القابلة للرسم.
أدوات تحرير أساليب الإدخال
محررات أسلوب الإدخال (IME) هي أساليب إدخال. مثلاً، لوحة مفاتيح على الشاشة.
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
يجب أن يظهر المصنّع الأصلي للجهاز على مورد السلسلة default_touch_input_method
.
في RotaryService
لتحديد ComponentName
محرر أسلوب الإدخال (IME) الذي يعمل باللمس. على سبيل المثال، إذا كان المصنّع الأصلي للجهاز يستخدم أداة IME المتوفّرة مع Android Automotive،
يجب أن يحددوا
com.google.android.apps.automotive.inputmethod/.InputMethodService
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
إذا أنشأ المصنّع الأصلي للجهاز أداة IME خصيصًا للدوران الدوار، يجب عليه تحديد
ComponentName
في المرجع rotary_input_method
. إذا كان هذا المورد
متراكبة، يتم استخدام أداة IME المحددة عندما يتفاعل المستخدم مع الوحدة الرئيسية
من خلال تحريك وحدة التحكم الدوارة، وتدويرها، وزر توسيط. عندما يلمس المستخدم
الشاشة، فسيتم استخدام أداة IME السابقة. زر الرجوع (والأزرار الأخرى على وحدة الدوّارة)
في اختيار أداة IME. إذا لم يكن هذا المورد مركّبًا، لن يتم التبديل إلى أداة IME
تحدث المقابلة. لا يتوافق لوحة الرسم مع الدوران، وبالتالي لا يمكن للمستخدم إدخال نص من خلال الدوّارة.
إذا لم يوفّر المصنّع الأصلي للجهاز أداة IME الدوّارة.
"RotaryIME
" هو أداة تحرير أسلوب إدخال توضيحية عبر الدوّار. على الرغم من أنّها أساسية، إلا أنّها كافية
يمكنك تجربة التبديل التلقائي لأداة IME الموضحة أعلاه. رمز المصدر لـ RotaryIME
يمكن العثور عليها في packages/apps/Car/tests/RotaryIME/
.
التذكيرات التلقائية خارج الشاشة
عندما يحاول المستخدم التحريك من حافة الشاشة تلقائيًا، لا يحدث شيء. يمكن للمصنّع الأصلي للجهاز ضبط ما يجب أن يحدث لكل من الاتجاهات الأربعة عن طريق تحديد مزيج من:
- إجراء عام يتم تحديده من خلال
AccessibilityService
. على سبيل المثال:GLOBAL_ACTION_BACK
- تمثّل هذه السمة رمز مفتاح، مثل
KEYCODE_BACK
. - النية في بدء نشاط يتم تمثيله كعنوان URL.
(Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
ويتم تحديدها من خلال تركيب موارد الصفيف التالية في
RotaryService
:
off_screen_nudge_global_actions
: مصفوفة من الإجراءات العامة التي سيتم تنفيذها عندما يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. ما مِن إجراء عام إذا كان العنصر ذي الصلة في هذه الصفيفة هو -1.off_screen_nudge_key_codes
: مصفوفة من الرموز الرئيسية لأحداث النقر المطلوب إدخالها عندما يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. لا توجد أحداث يتم إدخاله إذا كان العنصر ذي الصلة في هذه الصفيفة هو 0 (KEYCODE_UNKNOWN
).off_screen_nudge_intents
: مصفوفة من الأهداف لبدء نشاط معيّن عند يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. لا يوجد نشاط إذا كان العنصر ذي الصلة في هذه الصفيفة فارغًا.
الإعدادات الأخرى
يجب عليك تركيب الموارد الـ RotaryService
التالية:
- (Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
config_showHeadsUpNotificationOnBottom
: قيمة منطقية لتمثيل ما إذا كان يجب عرض التنبيهات الرأسية في الجزء السفلي بدلاً من الأعلى. هذا يجب لها القيمة نفسها مثلconfig_showHeadsUpNotificationOnBottom
مورد منطقي فيframeworks/base/packages/CarSystemUI/res/values/config.xml
- (Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
notification_headsup_card_margin_horizontal
: الهامش الأيسر والأيمن لـ للتنبيه. ويجب أن تكون له نفس قيمة السمةnotification_headsup_card_margin_horizontal
تقليل المورد فيpackages/apps/Car/Notification/res/values/dimens.xml
- (نظام التشغيل Android 12)
excluded_application_overlay_window_titles
: صفيف من عناوين النوافذ التي لا ينبغي اعتبارها نوافذ متراكبة. يجب أن يشمل ذلك العناوين من نوافذ التطبيقات التي تمثِّلTaskViews
أوTaskDisplayAreas
. بشكل افتراضي، تحتوي هذه القائمة على "خرائط" فقط.
يمكنك إنشاء تركيبة من المرجع RotaryService
التالي:
- (Android 11 QPR3 وAndroid 11 Car،
نظام التشغيل Android 12)
long_press_ms
: قيمة عدد صحيح لتمثيل عدد المللي ثانية يجب الضغط مع الاستمرار على الزر الأوسط لتشغيل الضغط المطوّل. يشير الصفر إلى النظام ينبغي استخدام المهلة الافتراضية للضغط الطويل. هذه هي القيمة الافتراضية.