تغییرات پیکربندی صفحه کلید قابل جدا شدن را مدیریت کنید

سیستم اندروید هر بار که صفحه کلید به دستگاهی متصل می شود یا از آن جدا می شود، باعث تغییر پیکربندی می شود. برای اطمینان از تجربه کاربری یکپارچه و به حداکثر رساندن بهره‌وری کاربر در دستگاه‌های صفحه‌نمایش بزرگ با صفحه‌کلیدهای جداشدنی، برنامه شما باید تغییرات پیکربندی صفحه‌کلید را به‌طور مؤثر مدیریت کند.

جلوگیری از فعالیت تفریحی در تغییر صفحه کلید

برای جلوگیری از ایجاد مجدد فعالیت شما هنگام اتصال یا جدا شدن صفحه کلید جداشدنی، مقادیر مربوط به صفحه کلید را به ویژگی 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 گسترده‌تری را پوشش می‌دهد:

برنامه خود را فعال کنید تا از تجربه کاربری بهینه شده در رایانه لوحی، دستگاه‌های تاشو و دستگاه‌های ChromeOS پشتیبانی کند.

سوال یا بازخورد داشته باشید

به صفحه سوالات متداول ما بروید و درباره راهنماهای سریع بیاموزید یا با ما تماس بگیرید و نظرات خود را با ما در میان بگذارید.