Professional Documents
Culture Documents
Lecture4 GUI
Lecture4 GUI
Android ﺘﺨﺪم
واﺟﻬ ﺔ ﻣ ﺴ
ﺑﻮاﺳﻄ ﺔ
أﻣﻞ اﻟﺠﺮوﺷ ﺔ
Machine Translated by Google
ﻣﻠﺨﺺ
ﺑﻚ.ﺘﺨﺪم اﻟﺨﺎﺻ ﺔ
أﺟﻠﻚﻳﻤﻜﻨﻚ ﻣﻦ ﺧﻼﻟﻬﺎ وﺿﻊ واﺟﻬ ﺔ اﻟﻤ ﺴ
ﻣﻠﺨﺺ
ﺘﻮى
ﺘﻠﻔ ﺔ ﻣﻦ اﻟﻤﺤ
•ﻳﻮﻓﺮ Androidاﻟﻌﺪﻳﺪ ﻣﻦ ﻓﺌﺎ ت ﻃﺮق اﻟﻌﺮض ﻹﻇﻬﺎر أﻧﻮاع ﻣﺨ
ﺘﻠﻔ ﺔ.
وﺧﺪﻣ ﺔ أﻏﺮاض ﻣﺨ
ﺘﺨﻄﻴﻄﺎ ت
ﺑﻬ ﺔ ﻟﻤﻜﻮﻧﺎ ت • Javaاﻟ
•ﻃﺮق اﻟﻌﺮض ﻣﺸﺎ
ﻣﻠﺨﺺ
ﺒﻴﻞ
ﺘﺨﺪام ﻣﻠﻒ )XMLﻋﲆﺳ
ﺑﺎﺳﺘﺨﺪم
ﺘﻌﺮﻳﻒ واﺟﻬ ﺔ اﻟﻤ ﺴ
ﺑ ً
ﻋﺎدة ﻣﺎﻳﻘﻮم اﻟﻤﻄﻮرون •
ﺜﺎل ،ﻣﻠﻒ activity_main.xmlاﻟﻤﻮﺟﻮد ﻓ ﻲ ﻣﺠﻠﺪ res / layout).
اﻟﻤ
ﺘﺮﺟﻢ.
ﺘﻢﺗﺠﻤﻴﻊ ﻣﻠﻒﺗﺨﻄﻴﻂ XMLﻓ ﻲ ﻣﻮرد ﻣ
ﺒﻨﺎء ،ﻳ
ﺛﻨﺎء وﻗ ﺖ اﻟ
•أ
ﺛﻢ
ﺑﻘﻴﺎس ﺣﺠﻢ وﻣﻮﺿﻊ ﻛﻞ ﻋﺮض ViewGroup /
ﺘﻀﺨﻢ ،ﺳﻴﻘﻮم Android
ﺑﻌﺪ اﻟ
•
ﺘﻴﺠ ﺔ ﻋﲆ
رﺳﻢ اﻟﻨ
ﺷﺎﺷ ﺔ.
Machine Translated by Google
XML
ﺗﻪ آﻟ ًﻴﺎ.
ﺑﻮاﺳﻄ ﺔ اﻹﻧ ﺴﺎن وﻗﺮاءﺗﻪ
ﺘﻨ ﺴﻴﻖﻳﻤﻜﻦ ﻗﺮاء
ﺑﺘﻨﺪا ت
ﺘﺮﻣﻴﺰ اﻟﻤ ﺴ
ﻟ
ﺘﺮﻧ ﺖ .إﻧﻪ
ﺒﺮ اﻹﻧ
ﺘﺨﺪام ﻋ
ﺑﻠﻴ ﺔ اﻻﺳ
ﺘﻌﻤﻴﻢ وﻗﺎ
ﺒ ﺴﺎﻃ ﺔ واﻟ
ﺗﺆﻛﺪ أ ﻫﺪافﺗﺼﻤﻴﻢ XMLﻋﲆ اﻟ
•
ﺘﻠﻔ ﺔ.
ﺑﺸﺮﻳ ﺔ ﻣﺨﺒﺮ Unicodeﻟﻠﻐﺎ ت
ﺑﻴﺎﻧﺎ ت ﻧﺼ ﻲ ﻣﻊ دﻋﻢ ﻗﻮي ﻋﺗﻨ ﺴﻴﻖ
Machine Translated by Google
اﻵراء
ﺘﻄﻴﻠ ﺔ ﻋﲆ اﻟﺸﺎﺷ ﺔ
ﺘﻞ ﻣ ﺴﺎﺣ ﺔ ﻣ ﺴ
ﺘ ﻲﺗﺤ
ﺘﺨﺪم واﻟ
ﺒﻨﺎء اﻷﺳﺎﺳﻴ ﺔ ﻟﻮاﺟﻬ ﺔ اﻟﻤ ﺴ
ﺒﻨ ﺔ اﻟ
•ﻟ
و ﻫ ﻲ ﻣ ﺴﺆوﻟ ﺔ ﻋﻦ رﺳﻢ ﻧﻔ ﺴﻬﺎ وﻣﻌﺎﻟﺠ ﺔ اﻷﺣﺪا ث• .اﻟﻌﺮض ﻫﻮ اﻟﻔﺌ ﺔ اﻷﺳﺎﺳﻴ ﺔ
ﺜﻞ اﻷزرار وﻋﺮوض
ﺘﺨﺪمﺗﻔﺎﻋﻠﻴ ﺔ ﻣ ُﺴ
ﺘﺨﺪم ﻹﻧﺸﺎء ﻣﻜﻮﻧﺎ ت واﺟﻬ ﺔ ﻣ ﺴ ﺘ ﻲﺗ
ﻟﻠﺤﺎﺟﻴﺎ ت ،واﻟ
اﻟﺤﺎﺟﻴﺎ ت
ضرع•اﻟﻨﺺ
ريرح ت•اﻟﻨﺺ
•رز
• CheckBox
رز•اﻟﺮادﻳﻮ
• VideoView
• ImageButton
• ImageView
Machine Translated by Google
• ToggleButton •
ﺒﺪﻳﻞ
ﺘاﻟ
ﺒﺤ ﺚ
طير ش•اﻟ
ﺘﺼﻮﻳ ﺖ
ﺘﻘﺪم •ﺷﺮﻳﻂ اﻟ
•ﺷﺮﻳﻂ اﻟ
• CheckedTextView
• MultiAutoCompleteTextView
• AutoCompleteTextView
Machine Translated by Google
ViewGroup
ﺘﻮي ﻋﲆ
ﺋﻴ ﺔﺗﺤ
• TheViewGroupﻫ ﻲ ﻓﺌ ﺔ ﻓﺮﻋﻴ ﺔ ﻣﻦ Viewprovidesﺣﺎوﻳ ﺔ ﻏﻴﺮ ﻣﺮ
ﺘﺨﻄﻴﻂ
ﺗﺤﺪد ﺧﺼﺎﺋﺺ اﻟ
ﺗﻨﻈﻤﻬﺎ و
ﻃﺮق ﻋﺮض أﺧﺮى أو ﻣﺠﻤﻮﻋﺎ ت ViewGroupsو
ﺑﻬﺎ.اﻟﺨﺎﺻ ﺔ
ﺘﺨﻄﻴﻄﺎ ت
اﻟ
ﺘﺨﺪم
ﺋﻴ ﺔ ﻟﻮاﺟﻬ ﺔ اﻟﻤ ﺴ
ﺒﻨﻴ ﺔ اﻟﻤﺮ
ﺘﻴﺢ ﻟﻚﺗﺤﺪﻳﺪ اﻟ
ﺗ•ﻓﺌﺎ ت ﻓﺮﻋﻴ ﺔ ﻣﻦ ViewGroupclass
ﺘﺨﻄﻴﻄﺎ ت ﻫ ﻲ ﻟﻸﻏﺮاض اﻟﻌﺎﻣ ﺔ
ﺒﻴﻘﻚ ،ﻛﻤﺎ ﻫﻮ اﻟﺤﺎل ﻓ ﻲ أﺣﺪ اﻷﻧﺸﻄ ﺔ• .اﻟ
ﻓ ﻲﺗﻄ
ﺑﺸﺄنﺒﺎ ت
ﺘﻄﻠ
ﺒﺎﺷﺮة ﻣﻊ وﺟﻬﺎ ت اﻟﻨﻈﺮ اﻟﺮﺳﻮﻣﻴ ﺔ .ﻟﻴ ﺲ ﻟﺪﻳﻬﻢ ﻣ
ﺘﻌﺎﻣﻞ ﻣ
ViewGroupsاﻟ
ﺗﻬﺎ.
ﺘ ﻲﻳﻤﻜﻨﻬﻢ إدار
ﻧﻮع وﺟﻬﺎ ت ﻧﻈﺮ اﻷﻃﻔﺎل اﻟ
ﺘ ﺴﻠ ﺴﻞ اﻟﻬﺮﻣ ﻲ ﻟﻠﻌﺮض و
ﺘﺨﺪام اﻟ
ﺑﺎﺳﺘﺨﻄﻴﻂ
ﺗﻢ إﻧﺸﺎء ﺟﻤﻴﻊ اﻟﻌﻨﺎﺻﺮ ﻓ ﻲ اﻟ
•
ViewGroupobjects.
Machine Translated by Google
ﺻﻔﺎ ت
اﻟﻤﻌﺮف(.
ﺻﻔﺎ ت
ﺘﺨﺪﻣﻬﺎ ﻋﻨﺼﺮ
ﺘﺨﻄﻴﻂ ،وﻻﻳ ﺴ
ﺑﻪ ﻣﻦ ﻣﻌﻠﻤﺎ ت اﻟﺘﻮي ﻛﻞﺗﺨﻄﻴﻂ ﻋﲆ ﻣﺠﻤﻮﻋ ﺔ ﺧﺎﺻ ﺔ •ﻳﺤ
ﺘﺨﺪم ﻧﻔ ﺴﻪ.
واﺟﻬ ﺔ اﻟﻤ ﺴ
Machine Translated by Google
ﺘﺮﻛ ﺔ
اﻟ ﺴﻤﺎ ت اﻟﻤﺸ
ViewGroups) ﻣﺠﻤﻮﻋﺎ ت
Machine Translated by Google
ﺘﺨﻄﻴﻂ
ﻣﻌﻠﻤﺎ ت اﻟ
ﺗﻢ
ﺘﺎﻟﻴ ﺔ)1-fill_parent :
ﺑ ﺖ اﻟ
ﺜﻮا
ﺘ ﺔ )(dpأو أﺣﺪ اﻟ
ﺑﺜﺎ
ﺘﺨﺪام اﻟﻘﻴﻤ ﺔ اﻟ
ُﻌﺪ ،ﻳﻤﻜﻨﻨﺎ اﺳ
ﺑﻟﻜﻞ
ﺑـ )match_parentﺒﺪاﻟﻪ
ﺘإ ﻫﻤﺎﻟﻪ ﻓ ﻲ API 8واﺳ
ﺒﺎراة_واﻟﺪ
ﺘﺮوﻛ ﺔ(2- .اﻟﻤ
ﺜﻨﺎء اﻟﻤ ﺴﺎﺣ ﺔ اﻟﻤ
ﺘﺑﺎﺳ
ﺜﻞ اﻷﺻﻞ )
ﺒﻴ ﺮًا ﻣ
ﻳﺠ ﺐ أنﻳﻜﻮن اﻟﻌﺮض ﻛ
ﺘﺮوﻛ ﺔ(.
ﺜﻨﺎء اﻟﻤ ﺴﺎﺣ ﺔ اﻟﻤ
ﺘﺑﺎﺳ
ﺜﻞ اﻷﺻﻞ )
ﺒﻴ ًﺮا ﻣ
ﻳﺠ ﺐ أنﻳﻜﻮن اﻟﻌﺮض ﻛ
ﺘﻮى
ﺘﻔﺎف اﻟﻤﺤ
3-اﻟ
ﺑﻞ اﻟﺤﺸﻮ
اﻟﻬﺎﻣ ﺶ ﻣﻘﺎ
ﺑﻴﻦ اﻟﻌﻨﺼﺮﺑﻴﻦ اﻟﻌﻨﺼﺮ واﻟﺠﻴﺮان أو-اﻟﻬﺎﻣ ﺶ ﻫﻮ اﻟﻤ ﺴﺎﻓ ﺔ ﺧﺎرج ﺣﺪود اﻟﻌﻨﺼﺮ ،واﻟﻤ ﺴﺎﻓ ﺔ
ﺘﺨﻄﻴﻂ اﻷﺻﻠ ﻲ.
واﻟ
ﺘﻮاه.
ﺑﻴﻦ ﺣﺪ اﻟﻌﻨﺼﺮ وﻣﺤ-اﻟﺤﺸﻮ ﻫﻮ اﻟﻤ ﺴﺎﺣ ﺔ اﻟﻤﻮﺟﻮدة داﺧﻞ ﺣﺪ اﻟﻌﻨﺼﺮ ،واﻟﻤ ﺴﺎﻓ ﺔ
Machine Translated by Google
ﺑﻞ اﻟﺤﺸﻮ
اﻟﻬﺎﻣ ﺶ ﻣﻘﺎ
Machine Translated by Google
ﺑﻞ اﻟﺤﺸﻮ
اﻟﻬﺎﻣ ﺶ ﻣﻘﺎ
Machine Translated by Google
ﺑﻴ ﺔ
ﺑﻞ اﻟﺠﺎذ
ﺑﻴ ﺔ ﻣﻘﺎ
ﺗﺨﻄﻴﻂ اﻟﺠﺎذ
ﺘﺨﻄﻴﻄﺎ ت
اﻟ
ﺘﺨﻄﻴﻄﺎ ت:
ﻫﻨﺎك أﻧﻮاع ﻋﺪﻳﺪة ﻣﻦ اﻟ
ﺗﻨﺎ ﻋﲆ:
ﺳﻨﺮﻛﺰ ﻓ ﻲ ﻣﺤﺎﺿﺮ
ﺗﺨﻄﻴﻂ ﺧﻄ ﻲ
1-
ﺒﻲ
2-اﻟﻨ ﺴﻖ اﻟﻨ ﺴ
ﺗﺨﻄﻴﻂ اﻟﻘﻴﺪ
3-
Machine Translated by Google
ﺗﺨﻄﻴﻂ ﺧﻄ ﻲ
ﺗﺠﺎه
ﺑﻤﺤﺎذاة ﺟﻤﻴﻊ اﻷﻃﻔﺎل ﻓ ﻲ اLinearLayoutis:ﻣﺠﻤﻮﻋ ﺔ ﻋﺮضﺗﻘﻮم
ﺘﻮﺟﻪ android:.
ﺘﺨﺪامﺳﻤ ﺔ اﻟ
ﺑﺎﺳﺘﺨﻄﻴﻂ
ﺗﺠﺎه اﻟ
•ﻳﻤﻜﻨﻚﺗﺤﺪﻳﺪ ا
ﺘﺨﻄﻴﻂ اﻟﺨﻄ ﻲ
اﻟ
ﺘﺨﻄﻴﻄ ﻲ
-اﻟﻮزن اﻟ
ﺒﻲ
ﺗﺨﻄﻴﻂ ﻧ ﺴ
ﺜﻞ
ﺑﺎﻷﺻﻞ )RelativeLayoutareaﻣﺘﻌﻠﻘ ﺔ
ﻃﺮﻳﻘ ﺔ ﻋﺮض أﺧﺮى( أو ﻓ ﻲ اﻟﻤﻮاﺿﻊ اﻟﻤ
اﻟﻤﺤﺎذاة إﱃ اﻷﺳﻔﻞ أو اﻟﻴ ﺴﺎر أو اﻟﻮﺳﻂ(.
Machine Translated by Google
ﺒﻲ
ﺗﺨﻄﻴﻂ ﻧ ﺴ
ﺘﺨﺪمﻷﻧﻬﺎﻳﻤﻜﻦ أنﺗﻘﻠﻞ
ﺘﺼﻤﻴﻢ واﺟﻬ ﺔ ﻣ ﺴ
ﺗﻌﺪ RelativeLayoutأداة ﻣ ﺴﺎﻋﺪة ﻗﻮﻳ ﺔ ﺟﺪًا ﻟ
ﺘﺨﻄﻴﻂ ،ﻣﻤﺎﻳﺤ ﺴﻦ
ﺘ ﺴﻠ ﺴﻞ اﻟﻬﺮﻣ ﻲ ﻟﻠ
ﺑ ﺴﺎﻃ ﺔ اﻟﺗﺤﺎﻓﻆ ﻋﲆ
ﺘﺪاﺧﻠ ﺔ و
ﻣﺠﻤﻮﻋﺎ ت اﻟﻌﺮض اﻟﻤ
ﺘﺪاﺧﻠ ﺔ ،ﻓﻘﺪ
ﺘﺨﻄﻴﻂ اﻟﺨﻄ ﻲ اﻟﻤ
ﺘﺨﺪم اﻟﻌﺪﻳﺪ ﻣﻦ ﻣﺠﻤﻮﻋﺎ ت اﻟ
اﻷداء• .إذا وﺟﺪ ت ﻧﻔ ﺴﻚﺗ ﺴ
ﺒ ﻲ واﺣﺪ.
ﺑﻤﺨﻄﻂ ﻧ ﺴﺒﺪاﻟﻬﺎ
ﺘﺘﻤﻜﻦ ﻣﻦ اﺳ
ﺗ
Machine Translated by Google
ﺒﻲ
ﺗﺨﻄﻴﻂ ﻧ ﺴ
ﺘ ﻲﻳﻤﻜﻦ
ﺘﺨﻄﻴﻂ اﻟ
ﺘﻨﻮﻋ ﺔ ﻣﻦ ﻣﻌﻠﻤﺎ ت اﻟ
ﺑﻪ ﻣﺠﻤﻮﻋ ﺔ ﻣﺒﻲ
ﺘﺨﻄﻴﻂ اﻟﻨ ﺴ
•اﻟ
ﺑﻤﺎ ﻓ ﻲ ذﻟﻚ- :ﺘﺨﺪاﻣﻬﺎ ﻟﻤﺤﺎذاة اﻟﻄﻔﻞ
اﺳ
•أﻧﺪروﻳﺪlayout_alignParentTop :
ﺑﻖ ﻣﻊ اﻟﻘﻤ ﺔ
ﺘﻄﺎ
ﺗﺠﻌﻞ اﻟﺤﺎﻓ ﺔ اﻟﻌﻠﻮﻳ ﺔ ﻟﻬﺬا اﻟﻌﺮضﺗ
إذا ﻛﺎﻧ ﺖ "true" ،
ﺣﺎﻓ ﺔ اﻟﻮاﻟﺪ.
•أﻧﺪروﻳﺪlayout_centerVertical :
ﺘﻢﺗﻮﺳﻴﻂ ﻫﺬا اﻟﻄﻔﻞ ﻋﻤﻮدﻳًﺎ داﺧﻞ واﻟﺪه.
إذا ﻛﺎن "ﺻﺤﻴﺤًﺎ" ،ﻳ
•أﻧﺪروﻳﺪlayout_below :
ﺒﻲ
ﺗﺨﻄﻴﻂ ﻧ ﺴ
ﺑﻮ تlayout_toRightOf :
اﻟﺮو
ﺑﻤﻌﺮفﻳﻀﻊ اﻟﺤﺎﻓ ﺔ اﻟﻴ ﺴﺮى ﻟﻬﺬا اﻟﻌﺮض ﻋﲆﻳﻤﻴﻦ اﻟﻌﺮض اﻟﻤﺤﺪد
اﻟﻤﻮرد.
ﺗ ﺴﺎء.
ّ ف ﻋﺮض اﻻر
ﺗﻢ ﻣﻨﺢ ﻣﻌ ﺮ
•أﻧﺪروﻳﺪlayout_alignTop :
ﺑﻖ ﻣﻊ اﻟﺤﺎﻓ ﺔ اﻟﻌﻠﻮﻳ ﺔ ﻟﻤﻌﺮف ﻋﺮض
ﺘﻄﺎ
ﻳﺠﻌﻞ اﻟﺤﺎﻓ ﺔ اﻟﻌﻠﻮﻳ ﺔ ﻟﻬﺬا اﻟﻌﺮضﺗ
ﺗ ﺴﺎء اﻟﻤﺤﺪد. اﻻر
Machine Translated by Google
Machine Translated by Google
ﺘﺨﻄﻴﻂ
اﻟﻘﻴﺪ اﻟ
ﺘﺨﺪاﻣﻬﺎ ﻋﲆ أﻧﻈﻤ ﺔ
ﺒ ﺔ دﻋﻢﻳﻤﻜﻨﻚ اﺳ
ﺘﺘﻮﻓﺮ ConstraintLayoutisﻛﻤﻜ
•ﻣﻼﺣﻈ ﺔ:ﻳ
ﺘﻮى API 9 (Gingerbread).
ﺑﺪءًا ﻣﻦ ﻣ ﺴ
Android
Machine Translated by Google
ﺒﻲ
ﺗﺨﻄﻴﻂ اﻟﻘﻴﺪ -اﻟﻤﻮﺿﻊ اﻟﻨ ﺴ
ﺒ ﺔ إﱃ ﻋﻨﺼﺮ آﺧﺮ.
ﺑﺎﻟﻨ ﺴﺘﺨﺪم ﻣﻌﻴﻦ
ﺑﻮﺿﻊ ﻋﻨﺼﺮ واﺟﻬ ﺔ ﻣ ﺴﺗ ﺴﻤﺢ ﻟﻚ ﻫﺬه اﻟﻘﻴﻮد
ﺒﺪاﻳ ﺔ واﻟﻨﻬﺎﻳ ﺔ
ﺒﻴﻦ اﻷﻳ ﺴﺮ واﻷﻳﻤﻦ واﻟ
•اﻟﻤﺤﻮر اﻷﻓﻘ ﻲ :اﻟﺠﺎﻧ
•اﻟﻤﺤﻮر اﻟﺮأﺳ ﻲ :اﻟﺠﻮاﻧ ﺐ اﻟﻌﻠﻮﻳ ﺔ واﻟ ﺴﻔﻠﻴ ﺔ واﻟﺨﻂ اﻷﺳﺎﺳ ﻲ ﻟﻠﻨﺺ
ﺷﻜ ﺮًا