سیستم اندروید هر بار که یک کیبورد به دستگاهی متصل یا از آن جدا میشود، یک تغییر پیکربندی ایجاد میکند. برای ارائه یک تجربه کاربری یکپارچه و به حداکثر رساندن بهرهوری کاربر در دستگاههای صفحه نمایش بزرگ با کیبوردهای جداشدنی، برنامه شما باید به طور موثر تغییرات پیکربندی کیبورد را مدیریت کند.
نتایج
برنامه شما به اتصال یا جدا شدن یک صفحه کلید خارجی بدون ایجاد مجدد اکتیویتی در حال اجرا، واکنش نشان میدهد.
جلوگیری از فعالیت تفریحی هنگام تغییر صفحه کلید
برای جلوگیری از ایجاد مجدد activity هنگام اتصال یا جدا شدن یک صفحه کلید جداشدنی، مقادیر مربوط به صفحه کلید را به ویژگی configChanges
در مانیفست برنامه خود اضافه کنید و یک نما به سلسله مراتب نمای activity اضافه کنید تا برنامه شما بتواند تغییرات پیکربندی را دریافت کند.
۱. ویژگی configChanges
را تعریف کنید.
عنصر <activity>
را در مانیفست برنامه با اضافه کردن مقادیر keyboard|keyboardHidden
به لیست تغییرات پیکربندی از قبل مدیریت شده، بهروزرسانی کنید:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
۲. یک نمای خالی به سلسله مراتب نماها اضافه کنید
یک نمای جدید تعریف کنید و کد مدیریت خود را درون متد onConfigurationChanged()
نمای مورد نظر اضافه کنید:
کاتلین
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>
در فایل manifest برنامه. سیستم را در مورد تغییرات پیکربندی که برنامه مدیریت میکند، مطلع میکند. -
View#onConfigurationChanged()
: متدی که به انتشار پیکربندی جدید برنامه واکنش نشان میدهد.
مجموعههایی که حاوی این راهنما هستند
این راهنما بخشی از این مجموعههای راهنمای سریعِ برگزیده است که اهداف گستردهتر توسعه اندروید را پوشش میدهد:

بهینه سازی برای صفحه نمایش های بزرگ
سوالی یا بازخوردی دارید؟
سیستم اندروید هر بار که یک کیبورد به دستگاهی متصل یا از آن جدا میشود، یک تغییر پیکربندی ایجاد میکند. برای ارائه یک تجربه کاربری یکپارچه و به حداکثر رساندن بهرهوری کاربر در دستگاههای صفحه نمایش بزرگ با کیبوردهای جداشدنی، برنامه شما باید به طور موثر تغییرات پیکربندی کیبورد را مدیریت کند.
نتایج
برنامه شما به اتصال یا جدا شدن یک صفحه کلید خارجی بدون ایجاد مجدد اکتیویتی در حال اجرا، واکنش نشان میدهد.
جلوگیری از فعالیت تفریحی هنگام تغییر صفحه کلید
برای جلوگیری از ایجاد مجدد activity هنگام اتصال یا جدا شدن یک صفحه کلید جداشدنی، مقادیر مربوط به صفحه کلید را به ویژگی configChanges
در مانیفست برنامه خود اضافه کنید و یک نما به سلسله مراتب نمای activity اضافه کنید تا برنامه شما بتواند تغییرات پیکربندی را دریافت کند.
۱. ویژگی configChanges
را تعریف کنید.
عنصر <activity>
را در مانیفست برنامه با اضافه کردن مقادیر keyboard|keyboardHidden
به لیست تغییرات پیکربندی از قبل مدیریت شده، بهروزرسانی کنید:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
۲. یک نمای خالی به سلسله مراتب نماها اضافه کنید
یک نمای جدید تعریف کنید و کد مدیریت خود را درون متد onConfigurationChanged()
نمای مورد نظر اضافه کنید:
کاتلین
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>
در فایل manifest برنامه. سیستم را در مورد تغییرات پیکربندی که برنامه مدیریت میکند، مطلع میکند. -
View#onConfigurationChanged()
: متدی که به انتشار پیکربندی جدید برنامه واکنش نشان میدهد.
مجموعههایی که حاوی این راهنما هستند
این راهنما بخشی از این مجموعههای راهنمای سریعِ برگزیده است که اهداف گستردهتر توسعه اندروید را پوشش میدهد:
