5.2. Android UIÉè¼Æ 5.2.1. Android Éè¼ÆÄ¿±ê¼ò½é ×ÜÌåÉÏ£¬ÎÒÃǵĺËÐÄÓ¦ÓúÍϵͳÔÚÉè¼ÆÉÏÊ×ҪרעÓÚÈý¸öÄ¿±ê¡£µ±ÄúÔÚÉè¼Æ Android Ó¦ÓÃʱ£¬Ò²Ó¦µ±¿¼ÂÇÕâЩĿ±ê: 1÷ÈÁ¦£ºAndroid Ó¦ÓÃÔÚ¶à¸ö²ã´ÎÉ϶¼ÊǹâÏÊÇÒ¾ßÓÐÃÀ¸ÐµÄ¡£±ä»Ã¼òµ¥ÇÒ¿ìËÙ£»²¼¾ÖºÍ×ÖÌåÇåÎúÇÒÓÐÒâÒå¡£Ó¦ÓõÄͼ±êÓÉÒÕÊõ¼ÒÃÇÉè¼Æ¡£¾ÍÏñÒ»°Ñ¾«ÖµĹ¤¾ß£¬ÄúµÄÓ¦ÓÃÓ¦µ±Å¬Á¦½áºÏÃÀ¸Ð¡¢¼ò½àÒÔ¼°Ä§»Ã°ãÒ×ÓúÍÇ¿´óµÄʹÓÃÌåÑé¡£ 2¼ò»¯£ºAndroid Ó¦ÓÃÈÝÒ×Àí½âÇÒÄÜʹÉú»î±äµÃ¼òµ¥¡£µ±ÈËÃǵÚÒ»´ÎʹÓÃÄúÓ¦ÓÃʱ£¬ËûÃÇÓ¦µ±ÄÜÖ±¹ÛµÄÈÏʶµ½×îÖØÒªµÄ¹¦ÄÜ¡£²»¹ýÉè¼Æ²»Ó¦¾ÖÏÞÓÚΪÁËÊ×´ÎʹÓá£Android Ó¦Óò»ÐèÒª´¦ÀíһЩËöÊ£¬ÀýÈçÎļþ¹ÜÀíºÍͬ²½¡£¼òµ¥µÄÈÎÎñ²»ÐèÒª¸´ÔӵIJ½Ö裬¸´ÔÓµÄÈÎÎñÒ²Ó¦µ±·ûºÏÓû§µÄʹÓÃϰ¹ß£¬Ê¹¸÷¸öÄêÁä¶ÎºÍ¸÷ÖÖÎÄ»¯±³¾°µÄÈ˶¼ÄܺܿìÉÏÊÖ£¬²¢ÇÒ²»»á±»Ì«¶àµÄÑ¡ÔñºÍÎ޹صÄÉÁ˸ËùÑÍû¡£ 3¾ªÆæ£ºAndroid Ó¦ÓÃʹµÃÈËÃÇ¿ÉÒÔÈ¥³¢ÊÔÐÂÏʵÄÊÂÇ飬·¢»Ó×Ô¼ºµÄ´´ÔìÁ¦¡£Android µÄ¶àÈÎÎñ¡¢ÌáÐѺÍÓ¦ÓüäµÄÐÅÏ¢¹²Ïí£¬Ê¹ÈËÃǽ«Ó¦ÓÃÈÚÈëÉú»îÖеķ½·½ÃæÃ档ͬʱ£¬ÄúµÄÓ¦ÓÃÓ¦µ±ÌåÏÖ¸öÐÔ£¬Ê¹ÈËÃÇ¿ÉÒÔÇå³þ¶øÓÅÑŵÄÕÆ¿Ø¸ß¿Æ¼¼¡£ 5.2.2. Android xml ²¼¾Ö½éÉÜ AndroidµÄ²¼¾ÖÎļþ¶¼´æÔÚ¹¤³ÌµÄ¸ù·¾¶ÏµÄresÎļþ¼ÐÖеÄlayoutÎļþÔÚÖС£²¼¾ÖÎļþ¶¼ÊÇxml¸ñʽµÄ¡£Android Ó¦ÓÃÔÚactivity ³õʼ»¯Ê±¶ÁÈ¡xml²¼¾ÖÎļþÐÅÏ¢ÏÈÔÚ½çÃæÉÏ¡£ a) AndroidÎå´ó²¼¾Ö Android¶ÔÓÃÎå´ó²¼¾Ö¶ÔÏó,ËüÃÇ·Ö±ðÊÇFrameLayout(¿ò¼Ü²¼¾Ö ),LinearLayout ( Ïß ÐÔ ²¼ ¾Ö ),AbsoluteLayout( ¾ø ¶Ô ²¼ ¾Ö),RelativeLayout(Ïà¶Ô²¼¾Ö),TableLayout(±í¸ñ²¼¾Ö)¡£ 1. FrameLayout£º FrameLayoutÊÇ×î¼òµ¥µÄÒ»¸ö²¼¾Ö¶ÔÏó¡£Ëü±»¶¨ÖÆÎªÄãÆÁÄ»ÉϵÄÒ»¸ö¿Õ°×±¸ÓÃÇøÓò£¬Ö®ºóÄã¿ÉÒÔÔÚÆäÖÐÌî³äÒ»¸öµ¥Ò»¶ÔÏó ¡ª ±ÈÈ磬һÕÅÄãÒª·¢²¼µÄͼƬ¡£ËùÓеÄ×ÓÔªËØ½«»á¹Ì¶¨ÔÚÆÁÄ»µÄ×óÉϽǣ»Äã²»ÄÜΪFrameLayoutÖеÄÒ»¸ö×ÓÔªËØÖ¸¶¨Ò»¸öλÖ᣺óÒ»¸ö×ÓÔªËØ½«»áÖ±½ÓÔÚǰһ¸ö×ÓÔªËØÖ®ÉϽøÐи²¸ÇÌî³ä£¬°ÑËüÃDz¿·Ý»òÈ«²¿µ²×¡£¨³ý·ÇºóÒ»¸ö×ÓÔªËØÊÇ͸Ã÷µÄ£©¡£ 2. LinearLayout 13 LinearLayoutÒÔÄãΪËüÉèÖõĴ¹Ö±»òˮƽµÄÊôÐÔÖµ£¬À´ÅÅÁÐËùÓеÄ×ÓÔªËØ¡£ËùÓеÄ×ÓÔªËØ¶¼±»¶Ñ·ÅÔÚÆäËüÔªËØÖ®ºó£¬Òò´ËÒ»¸ö´¹Ö±ÁбíµÄÿһÐÐÖ»»áÓÐÒ»¸öÔªËØ£¬¶ø²»¹ÜËûÃÇÓжà¿í£¬¶øÒ»¸öˮƽÁÐ±í½«»áÖ»ÓÐÒ»¸öÐиߣ¨¸ß¶ÈΪ×î¸ß×ÓÔªËØµÄ¸ß¶È¼ÓÉϱ߿ò¸ß¶È£©¡£LinearLayout±£³Ö×ÓÔªËØÖ®¼äµÄ¼ä¸ôÒÔ¼°»¥Ïà¶ÔÆë£¨Ïà¶ÔÒ»¸öÔªËØµÄÓÒ¶ÔÆë¡¢Öмä¶ÔÆë»òÕß×ó¶ÔÆë£©¡£ LinearLayout»¹Ö§³ÖΪµ¥¶ÀµÄ×ÓÔªËØÖ¸¶¨weight ¡£ºÃ´¦¾ÍÊÇÔÊÐí×ÓÔªËØ¿É ÒÔÌî³äÆÁÄ»ÉϵÄÊ£Óà¿Õ¼ä¡£ÕâÒ²±ÜÃâÁËÔÚÒ»¸ö´óÆÁÄ»ÖУ¬Ò»´®Ð¡¶ÔÏó¼·³ÉÒ»¶ÑµÄÇé¿ö£¬¶øÊÇÔÊÐíËûÃÇ·Å´óÌî³ä¿Õ°×¡£×ÓÔªËØÖ¸¶¨Ò»¸öweight Öµ£¬Ê£ÓàµÄ¿Õ¼ä¾Í»á°´ÕâЩ×ÓÔªËØÖ¸¶¨µÄweight ±ÈÀý·ÖÅ䏸ÕâЩ×ÓÔªËØ¡£Ä¬È쵀 weight ֵΪ0¡£ÀýÈ磬Èç¹ûÓÐÈý¸öÎı¾¿ò£¬ÆäÖÐÁ½¸öÖ¸¶¨ÁËweight ֵΪ1£¬ÄÇô£¬ÕâÁ½¸öÎı¾¿ò½«µÈ±ÈÀýµØ·Å´ó£¬²¢ÌîÂúÊ£ÓàµÄ¿Õ¼ä£¬¶øµÚÈý¸öÎı¾¿ò²»»á·Å´ó¡£ 3. AbsoluteLayout£¨²»ÍƼöʹÓã¬ÒѾ·ÏÆú£© AbsoluteLayout ¿ÉÒÔÈÃ×ÓÔªËØÖ¸¶¨×¼È·µÄx/y×ø±êÖµ£¬²¢ÏÔʾÔÚÆÁÄ»ÉÏ¡£(0, 0)Ϊ×óÉϽǣ¬µ±ÏòÏ»òÏòÓÒÒÆ¶¯Ê±£¬×ø±êÖµ½«±ä´ó¡£AbsoluteLayout ûÓÐÒ³±ß¿ò£¬ÔÊÐíÔªËØÖ®¼ä»¥ÏàÖØµþ£¨¾¡¹Ü²»ÍƼö£©¡£ÎÒÃÇͨ³£²»ÍƼöʹÓà AbsoluteLayout £¬³ý·ÇÄãÓÐÕýµ±ÀíÓÉҪʹÓÃËü£¬ÒòΪËüʹ½çÃæ´úÂëÌ«¹ý¸ÕÐÔ£¬ÒÔÖÁÓÚÔÚ²»Í¬µÄÉ豸ÉÏ¿ÉÄܲ»Äܺܺõع¤×÷¡£ 4. RelativeLayout RelativeLayout ÔÊÐí×ÓÔªËØÖ¸¶¨ËûÃÇÏà¶ÔÓÚÆäËüÔªËØ»ò¸¸ÔªËصÄλÖã¨Í¨¹ýID Ö¸¶¨£©¡£Òò´Ë£¬Äã¿ÉÒÔÒÔÓÒ¶ÔÆë£¬»òÉÏÏ£¬»òÖÃÓÚÆÁÄ»ÖÐÑëµÄÐÎʽÀ´ÅÅÁÐÁ½¸öÔªËØ¡£ÔªËذ´Ë³ÐòÅÅÁУ¬Òò´ËÈç¹ûµÚÒ»¸öÔªËØÔÚÆÁÄ»µÄÖÐÑ룬ÄÇôÏà¶ÔÓÚÕâ¸öÔªËØµÄÆäËüÔªËØ½«ÒÔÆÁÄ»ÖÐÑëµÄÏà¶ÔλÖÃÀ´ÅÅÁС£Èç¹ûʹÓÃXML À´Ö¸¶¨Õâ¸ö layout £¬ÔÚÄ㶨ÒåËü֮ǰ£¬±»¹ØÁªµÄÔªËØ±ØÐ붨Òå¡£ 5. TableLayout TableLayout ½«×ÓÔªËØµÄλÖ÷ÖÅäµ½ÐлòÁÐÖС£Ò»¸öTableLayout ÓÉÐí¶àµÄTableRow ×é³É£¬Ã¿¸öTableRow ¶¼»á¶¨ÒåÒ»¸ö row £¨ÊÂʵÉÏ£¬Äã¿ÉÒÔ¶¨ÒåÆäËüµÄ×Ó¶ÔÏó£¬ÕâÔÚÏÂÃæ»á½âÊ͵½£©¡£TableLayout ÈÝÆ÷²»»áÏÔʾrow ¡¢cloumns »òcell µÄ±ß¿òÏß¡£Ã¿¸ö row ÓµÓÐ0¸ö»ò¶à¸öµÄcell £»Ã¿¸öcell ÓµÓÐÒ»¸öView ¶ÔÏó¡£±í¸ñÓÉÁкÍÐÐ×é³ÉÐí¶àµÄµ¥Ôª¸ñ¡£±í¸ñÔÊÐíµ¥Ôª¸ñΪ¿Õ¡£µ¥Ôª¸ñ²»ÄÜ¿çÁУ¬ÕâÓëHTML ÖеIJ»Ò»Ñù¡£ b)²¼¾ÖÏà¹ØÊôÐÔ½éÉÜ 14 ²¼¾ÖÊôÐÔ°´ÊôÐÔÖµÖ÷Òª¿ÉÒÔ·ÖΪһÏÂÈýÀࣺ µÚÒ»ÀࣺÊôÐÔֵΪtrue¿Éfalse android:layout_centerHrizontal ˮƽ¾ÓÖÐ android:layout_centerVertical ´¹Ö±¾ÓÖÐ android:layout_centerInparent Ïà¶ÔÓÚ¸¸ÔªËØÍêÈ«¾ÓÖÐ android:layout_alignParentBottom Ìù½ô¸¸ÔªËصÄϱßÔµ android:layout_alignParentLeft Ìù½ô¸¸ÔªËصÄ×ó±ßÔµ android:layout_alignParentRight Ìù½ô¸¸ÔªËصÄÓÒ±ßÔµ android:layout_alignParentTop Ìù½ô¸¸ÔªËصÄÉϱßÔµ android:layout_alignWithParentlfMissing Èç¹ûÕÒ²»µ½¶ÔÓ¦µÄÐÖµÜÔªËØÕÒ²»µ½£¬¾ÍÒÔ¸¸ÔªËØ×ö²ÎÕÕÎï¡£ µÚ¶þÀࣺÊôÐÔÖµ±ØÐëΪidµÄÒýÓÃÃû android:layout_below ÔÚÄ³ÔªËØµÄÏ·½ android:layout_above ÔÚÄ³ÔªËØµÄÉÏ·½ android:layout_toLeftOf ÔÚÄ³ÔªËØµÄ×ó±ß Android:layout_toRightOf ÔÚÄ³ÔªËØµÄÓÒ±ß android:layout_alignTop ±¾ÔªËصÄÉϱßÔµºÍÄ³ÔªËØµÄÉϱßÔµ¶ÔÆë android:layout_alignLeft ±¾ÔªËصÄ×ó±ßÔµºÍÄ³ÔªËØµÄ×ó±ßÔµ¶ÔÆë android:layout_alignBottom ±¾ÔªËصÄϱßÔµºÍÄ³ÔªËØÏ±ßÔµ¶ÔÆë android:layout_alignRight ±¾ÔªËصÄÓÒ±ßÔµºÍÄ³ÔªËØÓÒ±ßÔµ¶ÔÆë µÚÈýÀࣺÊôÐÔֵΪ¾ßÌåµÄÏñËØÖµ°à£¬Èç30dip android:layout_marginBottom ÀëÄ³ÔªËØµ×±ßÔµµÄ¾àÀë Android:layout_marginLeft ÀëÄ³ÔªËØ×ó±ßÔµµÄµÄ¾àÀë Android:layout_marginRight ÀëÄ³ÔªËØµÄÓÒ±ßÔµµÄ¾àÀë Android:layout_marginTop ÀëÄ³ÔªËØÉϱßÔµµÄ¾àÀë Android:textSize ÎÄ×Ö´óС Android:width ¿Ø¼þ¿í¶È Android:height ¿Ø¼þ¸ß¶È Android:layout_width Ö¸¶¨Container×é¼þµÄ¿í¶È Android:layout_height Ö¸¶¨Container×é¼þµÄ¸ß¶È 15 5.2.3. ¿Í»§¶ËUIÌØÐ§Éè¼Æ 1£©ÔÚandroid UI Éè¼ÆÖÐshapeºÍselectorÊÇAndroid UIÉè¼ÆÖо³£Óõ½µÄ£¬±ÈÈçÎÒÃÇÒª×Ô¶¨ÒåÒ»¸öÔ²½ÇButton£¬µã»÷ButtonÓÐЩЧ¹ûµÄ±ä»¯£¬¾ÍÒªÓõ½shapeºÍselector¡£¿ÉÒÔÕâÑù˵£¬shapeºÍselectorÔÚÃÀ»¯¿Ø¼þÖеÄ×÷ÓÃÊÇÖÁ¹ØÖØÒªµÄ¡£ 2£©AnimationsÊÇÒ»¸öʵÏÖandroid UI½çÃæ¶¯»Ð§¹ûµÄAPI£¬AnimationsÌṩÁËһϵÁе͝»Ð§¹û£¬¿ÉÒÔ½øÐÐÐýת¡¢Ëõ·Å¡¢µÈëµ³öµÈ£¬ÕâЩЧ¹û¿ÉÒÔÓ¦ÓÃÔÚ¾ø´ó¶àÊýµÄ¿Ø¼þÖС£ËùÓеÄ×Ô¶¨Ò嶯»¶¼ÊÇÒÔxmlµÄÐÎʽ±íʾ£¬±»°üº¬ÔÚresÎļþ¼ÐÖеÄanimÖУ¬´ËÎļþ¼ÐĬÈÏÊÇûÓеģ¬ÐèÒª×Ô¼ºÊÖ¶¯Ð½¨¡£ Õû¸öÓ¦ÓÃµÄ activity ½øÈëÍ˳ö·ç¸ñÊÇ×óÓÒ»¬¶¯·ç¸ñ¡£ÕâÆäÖаüÀ¨Á½ÖÖÇé¿ö£º A)½øÈëеÄactivity:ÕâÖÐÇé¿öµÄÁ½Öж¯»Îļþ·Ö±ðΪanim_go_inter.xmlºÍanim_go_exit.xmlÁ½¸ö¶¯»Îļþ£¬ÆäÖÐanim_go_inter.xmlÎļþ¶¨ÒåÁËÌø×ªµ½ÐµÄactivity ʱºò´Ëactivity ½øÈëʱµÄ¶¯»¹æÔò£¬¾ßÌåʵÏÖÈçÏ£º android:fromXDelta=\ android:toXDelta=\ android:duration=\ /> android:fromAlpha=\ android:toAlpha=\ android:duration=\ android:startOffset=\ /> ´Ë¶¯»Îļþ°üÀ¨ÁËÁ½¸öͬ²½¶¯»µÚÒ»¸öÊÇÆ½Òƶ¯»£¬Ä¿±êÔªËØ´Ó¸¸ÔªËصÄx·½ÏòµÄ100%ÒÆ¶¯µ½0%´¦£¬Òƶ¯Ê±¼äΪ500ºÁÃ룬µÚ¶þ¸öÊÇ͸Ã÷¶¼¶¯»£¬Ä¿±êÔªËØÓɰë͸Ã÷ÖÁ²»Í¸Ã÷£¬×ª»¯Ê±¼ä500ºÁÃë¡£µÃµ½µÄЧ¹û¾ÍÊÇÌø×ªµ½ÐµÄactivityʱ 16
Ïà¹ØÍÆ¼ö£º