מערכת Android מפעילה שינוי בהגדרות בכל פעם שמקלדת מחוברת למכשיר או מנותקת ממנו. כדי לספק חוויית משתמש חלקה ולמקסם את הפרודוקטיביות של המשתמשים במכשירים עם מסך גדול ומקלדות ניתקות, האפליקציה צריכה לנהל ביעילות שינויים בהגדרות המקלדת.
תוצאות
האפליקציה מגיבה לחיבור או לניתוק של מקלדת חיצונית בלי ליצור מחדש את הפעילות שמופעלת.
מניעת יצירה מחדש של פעילות כשמשנים את המקלדת
כדי למנוע יצירה מחדש של הפעילות כשמצמידים או מנתקים מקלדת ניתנת להסרה, מוסיפים ערכים שקשורים למקלדת למאפיין configChanges
במניפסט האפליקציה, ומוסיפים תצוגה להיררכיית התצוגה של הפעילות כדי שהאפליקציה תוכל להאזין לשינויים בהגדרות.
1. הצהרה על המאפיין configChanges
מעדכנים את רכיב <activity>
בקובץ המניפסט של האפליקציה על ידי הוספת הערכים keyboard|keyboardHidden
לרשימת השינויים בהגדרות שכבר מנוהלות:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. הוספת תצוגה ריקה להיררכיית התצוגות
מצהירים על תצוגה חדשה ומוסיפים את קוד ה-handler בתוך השיטה 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:
