מערכת Android מפעילה שינוי בהגדרות בכל פעם שמחברים או מנתקים מקלדת למכשיר. כדי להבטיח חוויית משתמש חלקה ולמקסם את הפרודוקטיביות של המשתמשים במכשירים עם מסכים גדולים ומקלדות נשלפות, האפליקציה צריכה לנהל ביעילות שינויים בהגדרות המקלדת.
מניעת יצירה מחדש של פעילות כשמשנים את המקלדת
כדי למנוע יצירה מחדש של הפעילות כשמקלדת נשלפת מחוברת או מנותקת, מוסיפים ערכים שקשורים למקלדת למאפיין configChanges
של המניפסט של האפליקציה, ומוסיפים תצוגה להיררכיית התצוגות של הפעילות כדי שהאפליקציה תוכל להאזין לשינויים בהגדרות.
1. הצהרת המאפיין configChanges
מעדכנים את הרכיב <activity>
במניפסט של האפליקציה על ידי הוספת הערכים של keyboard|keyboardHidden
לרשימת השינויים בהגדרות שכבר מנוהלים:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. הוספת תצוגה ריקה להיררכיית התצוגות
מגדירים תצוגה חדשה ומוסיפים את קוד הטיפול באירוע בתוך השיטה onConfigurationChanged()
של התצוגה:
Kotlin
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
Java
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
נקודות עיקריות
android:configChanges
: מאפיין של רכיב<activity>
במניפסט של האפליקציה. מעדכן את המערכת לגבי שינויים בתצורה שהאפליקציה מנהלת.View#onConfigurationChanged()
: שיטה שתגיב להפצה של הגדרות אישיות חדשות של אפליקציה.
תוצאות
האפליקציה תגיב עכשיו לחיבור או לניתוק של מקלדת חיצונית, בלי ליצור מחדש את הפעילות שפועלת.
אוספים שמכילים את המדריך הזה
המדריך הזה הוא חלק מהאוספים הבאים של מדריכים מהירים, שמכסים יעדים רחבים יותר לפיתוח Android:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=he)