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

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

نتایج

برنامه شما به اتصال یا جدا شدن یک صفحه کلید خارجی بدون ایجاد مجدد اکتیویتی در حال اجرا، واکنش نشان می‌دهد.

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

برای جلوگیری از ایجاد مجدد 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() : متدی که به انتشار پیکربندی جدید برنامه واکنش نشان می‌دهد.

مجموعه‌هایی که حاوی این راهنما هستند

این راهنما بخشی از این مجموعه‌های راهنمای سریعِ برگزیده است که اهداف گسترده‌تر توسعه اندروید را پوشش می‌دهد:

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

سوالی یا بازخوردی دارید؟

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

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

نتایج

برنامه شما به اتصال یا جدا شدن یک صفحه کلید خارجی بدون ایجاد مجدد اکتیویتی در حال اجرا، واکنش نشان می‌دهد.

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

برای جلوگیری از ایجاد مجدد 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() : متدی که به انتشار پیکربندی جدید برنامه واکنش نشان می‌دهد.

مجموعه‌هایی که حاوی این راهنما هستند

این راهنما بخشی از این مجموعه‌های راهنمای سریعِ برگزیده است که اهداف گسترده‌تر توسعه اندروید را پوشش می‌دهد:

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

سوالی یا بازخوردی دارید؟

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