سیستم اندروید هر بار که صفحه کلید به دستگاهی متصل می شود یا از آن جدا می شود، باعث تغییر پیکربندی می شود. برای اطمینان از تجربه کاربری یکپارچه و به حداکثر رساندن بهرهوری کاربر در دستگاههای صفحهنمایش بزرگ با صفحهکلیدهای جداشدنی، برنامه شما باید تغییرات پیکربندی صفحهکلید را بهطور مؤثر مدیریت کند.
جلوگیری از فعالیت تفریحی در تغییر صفحه کلید
برای جلوگیری از ایجاد مجدد فعالیت شما هنگام اتصال یا جدا شدن صفحه کلید جداشدنی، مقادیر مربوط به صفحه کلید را به ویژگی configChanges
مانیفست برنامه خود اضافه کنید و یک نمای به سلسله مراتب نمای فعالیت اضافه کنید تا برنامه شما بتواند به تغییرات پیکربندی گوش دهد.
1. ویژگی configChanges
را اعلام کنید
با افزودن مقادیر keyboard|keyboardHidden
به لیست تغییرات پیکربندی مدیریت شده قبلی، عنصر <activity>
را در مانیفست برنامه بهروزرسانی کنید:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. یک نمای خالی به سلسله مراتب view اضافه کنید
یک نمای جدید اعلام کنید و کد کنترل کننده خود را در متد onConfigurationChanged()
view اضافه کنید:
کاتلین
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
جاوا
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
نکات کلیدی
-
android:configChanges
: ویژگی عنصر<activity>
مانیفست برنامه. تغییرات پیکربندی که برنامه مدیریت می کند به سیستم اطلاع می دهد. -
View#onConfigurationChanged()
: روشی که به انتشار یک پیکربندی برنامه جدید واکنش نشان می دهد.
نتایج
اکنون برنامه شما به صفحه کلید خارجی متصل یا جدا شده بدون ایجاد مجدد فعالیت در حال اجرا پاسخ می دهد.
مجموعه هایی که حاوی این راهنما هستند
این راهنما بخشی از مجموعههای راهنمای Quick Guide است که اهداف توسعه Android گستردهتری را پوشش میدهد:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=fa)