ÔÚǰ¼¸ÆªÎÄÕ£¬ÎÒÃÇ´óÖÂÁ˽âÁËAndroid¿ª·¢µÄһЩ³£¹æÄ£Ê½ºÍ·½·¨£¬ÔÚÕâ¸ö¹ý³ÌÖÐÆäʵÎÒÃÇÒѾ½Ó´¥µ½ÁËÆÁÄ»ÊÊÅä·½ÃæµÄÏà¹ØÖªÊ¶£¬µ«ÊDz¢Ã»ÓÐÉîÈëµØ½²½âÕâЩ¸ÅÄî¡£ÕâÆªÎÄÕÂÎÒÃǽ«·ÖÈý¸ö·½Ãæ½øÐÐÏêϸ½²½â¡£
Ò»£¬AndroidµÄ¶ÈÁ¿µ¥Î»
ÔÚAndroidÖУ¬¶¨Òå×é¼þ³ß´çµÄµ¥Î»Í¨³£ÓÐdpºÍsp,ÄÇôËüÃǸúÎÒÃǾ³£Ê¹ÓõÄpxÓÐÊ²Ã´Çø±ðÄØ£¿
px
pxÊÇPixelsµÄËõд£¬Êdz£ÓõÄÏñËØµ¥Î»£¬¶ÔÓ¦µÄÊÇÆÁÄ»Éϵĵ㡣
ÒÆ¶¯É豸µÄ³ß´çÓкܶàÖÖ£¬ËüÃÇµÄÆÁÄ»×ÜÏñËØÒ²ÊDz»Í¬µÄ£¬Ê¹ÓÃpxµ¥Î»µÄ×é¼þ³ß´ç»áÓв»Ò»ÖµÄÇé¿ö¡£
ÎÒÃÇ¿´¸öÀý×Ó

¿ÉÒÔ¿´³öÕâ¸ö¼ÓºÅiconÔÚ·Ö±æÂʽϸߣ¬³ß´ç½Ï´óµÄÆÁÄ»ÉÏ·´¶øÏÔµÃÂÔС
dip/dp
dp(density-independent pixel)ÊÇÓëÃܶÈÎ޹صÄÏñËØµ¥Î»£¬Ò²¾ÍÊÇdip¡£ËüÊÇ»ùÓÚÉ豸ÆÁÄ»ÎïÀíÃܶȵijéÏóµ¥Î»¡£1dp
±íʾÆÁÄ»DPIΪ160ʱ1pxµÄ³¤¶È¡£DPI Ô½¸ßµÄÆÁÄ»£¬ÆÁÄ»»æÖÆ1dp ÐèÒªÔ½¶àµÄÏñËØ£¬·´Ö®ÒàÈ»¡£
ÎÒÃÇ¿ÉÒÔ½«ÉϸöÀý×ÓµÄͼƬ¿í¸ßÉèÖÃΪ30dp

¿ÉÒÔ¿´³öÁ½¸ö¼ÓºÅiconµÄ³ß´çÊÇÒ»ÖµÄ
sp
sp(scale-independent pixel)ÊÇÓëËõ·ÅÎ޹صÄÏñËØµ¥Î»¡£¸údpÀàËÆ£¬Î¨Ò»µÄ²»Í¬ÊÇ£¬¸Ãµ¥Î»»áÊÜϵͳ×ÖÌåÉèÖõÄÓ°Ï죬ͨ³£ÓÃÔÚ×ÖÌåÉÏ¡£
AndroidÔÚÉè¼Æ¹æ·¶Öй涨ÁË×ÖÌåµÄ³£ÓôóС£º

ʹÓÃdp/spµÄºÃ´¦ÊÇ£¬ÎÞÂÛÆÁÄ»DPIÈçºÎ£¬×é¼þ×ÜÄܱíÏÖÒ»Ö¡£
¶þ£¬AndroidµÄ²¼¾Ö
ÔÚAndroid¿ª·¢£¬Îª³ÌÐò¶¨ÒåÓû§½çÃæ²¼¾ÖÓÐÒÔÏ·½·¨£º
1.ÔÚXML Îļþ¶¨Òå
2.ÔÚ³ÌÐò´úÂëÖÐʵÀý»¯²¼¾Ö
3.ʹÓÃͼÐβ¼¾Ö¹¤¾ß
ÒÔÉÏÈýÖÖ·½·¨¸÷ÓÐÀû±×£¬ÎÒÃÇ»á¸ù¾ÝÐèÇ󳡾°À´Ó¦Óò»Í¬µÄ²¼¾Ö·½Ê½£¬ÕâÀïÖ÷Òª½²XML²¼¾Ö¡£
ÔÚXMLÎļþ¶¨Òå×é¼þ£¬¿ÉÒÔ·½±ãµÄ¹ÜÀí³ÌÐòµÄUI²¿·Ö£¬²¢ÇÒ·ÖÀë±íÏÖºÍÐÐΪ£¬Ê¹µÃ´úÂëÈÝÒ×¹ÜÀíÔĶÁºÍ¹ÜÀí£¬¶øÇÒ¿ÉÒÔΪ²»Í¬µÄÆÁÄ»¶¨ÖÆXMLÎļþ¡£
³£ÓõIJ¼¾ÖÓÐFrame Layout £¬ Linear Layout £¬ Relative Layout
£¬ List View ºÍ Grid View¡£
ÓÉÓÚList View ºÍ Grid View Éæ¼°Êý¾Ý²¿·Ö£¬ÎÒÃǷŵ½ºóÃæÔÙ½²£¬ÏÈ´Ó¼¸¸ö¼òµ¥µÄ¿ªÊ¼ :)

FrameLayoutÊÇ×î¼òµ¥µÄ²¼¾Ö£¬Ìí¼Óµ½Õâ¸ö²¼¾ÖµÄÔªËØ¶¼ÊDzãµþµÄ£¬µ±Ç°ÔªËػᱻÏÂÒ»¸öÔªËØ¸²¸Ç£¬Ï൱ÓÚCSSÖеľø¶Ô¶¨Î»position:absolute¡£
´Ó Summary µÄ XML Attributes ÖпÉÒÔÖªµÀÕâЩÊôÐÔµÄÐÅÏ¢¸ÅÒª¡£

¼¸¸ö³£ÓõÄÊôÐÔ:
android:foreground ÉèÖò¼¾ÖµÄǰ¾°Í¼£¬Ç°¾°Í¼²»»á±»×ÓÔªËØ¸²¸Ç
android:foregroundGravity ÉèÖò¼¾Öǰ¾°Í¼µÄλÖÃ
¶ÔÓÚFrameLayout.LayoutParams£¬ÕâÀï½öÓÐandroid:layout_gravityÊôÐÔ£¬¿ÉÒÔ²é¿´Ç°ÃæÎÄÕÂhttp://isux.tencent.com/learn-android-from-zero-session3.html
ÎÒÃÇ¿ÉÒÔʵ¼ùһϣº
н¨Ò»¸öAndroidÏîÄ¿£¬È»ºóÔÚlayoutÎļþ¼ÐÕÒµ½²¼¾ÖxmlÎļþ²¢Ð´ÈëÒÔϲ¼¾Ö

ÔËÐÐЧ¹ûÈçÏ£º

¸ü¶àÏêϸÐÅÏ¢¿ÉÒԲ鿴¹È¸è´óÉñÎĵµ£ºhttp://developer.android.com/reference/android/widget/FrameLayout.html

ÏßÐÔ²¼¾ÖÔÚÇ°ÃæÓÐËù½²½â£¬Ð¡»ï°éÃÇ¿ÉÒÔ¿´ÕâÆªÎÄÕÂhttp://isux.tencent.com/learn-android-from-zero-session3.html

Ïà¶Ô²¼¾Ö¿ÉÒÔÖ¸¶¨ÔªËصÄλÖá£ÔªËصÄλÖÿɶ¨ÒåΪÏàÁÚÔªËØµÄÏà¶ÔλÖã¨ÀýÈçÔªËØAÔÚÔªËØBµÄ×ó²à£©£¬Ò²¿ÉÒÔ¶¨ÒåΪ¸¸ÔªËصÄÏà¶ÔλÖã¨ÀýÈçÔÚ¸¸ÔªËصÄÖмä»òÕß×ó²à£©¡£
ʹÓÃÏà¶Ô²¼¾Ö¿ÉÒÔ·½±ãµÄ¿ØÖÆÔªËصÄλÖá£ÔÚûÓж¨Òåʱ£¬ËùÓеÄÔªËØ¶¼ÊÇÔÚ¸¸ÔªËصÄ×óÉÏ·½¡£
´Ó Summary µÄ XML Attributes ÖпÉÒÔÖªµÀÕâЩÊôÐÔµÄÐÅÏ¢¸ÅÒª¡£

¼¸¸ö³£ÓõÄÊôÐÔ£º
1.android:gravity ÉèÖÃÆäÄÚÈÝ£¨ÎÄ×Ö¡¢ÊÓͼ£©ÔÚ¸ÃÔªËØÄÚµÄλÖÃ
2.android:ignoreGravity ÉèÖÃÔªËØµÄIDʹÆä²»ÊÜgravityÊôÐÔµÄÓ°Ïì
ÔÚ RelativeLayout.LayoutParams£¬ÓÐÁ½ÀàÊôÐÔ£¬Ò»ÀàÊÇ×ÓÔªËØÔÚ¸¸ÔªËØµÄ¶ÔÆë·½Ê½£¬ÁíÒ»ÀàÊÇ×ÓÔªËØÏà¶ÔÆäËûÔªËØµÄλÖÃ
ÏÂÃæÊǵÚÒ»ÀàÊôÐÔµÄʾÒâͼ

¶ÔÓÚµÚ¶þÀàÊôÐÔ£¬ÎÒÃÇʵ¼ùһϣº
н¨Ò»¸öAndroidÏîÄ¿£¬È»ºóÔÚlayoutÎļþ¼ÐÕÒµ½²¼¾ÖxmlÎļþ²¢Ð´ÈëÒÔϲ¼¾Ö

È»ºóÔÚvaluesÎļþ¼ÐÕÒµ½string.xml²¢Ôö¼ÓÒÔÏ´úÂë

ÔËÐÐЧ¹ûÈçÏ£º
Èý£¬AndroidµÄÆÁÄ»ÊÊÅä
1.ÆÁÄ»Ïà¹Ø¸ÅÄî
ÏÂÃæ½éÉܼ¸¸ö³£¼ûµÄÃû´Ê
ÆÁÄ»´óС
ͨ¹ý²éÔÄÉ豸ÐÅÏ¢¿ÉÒÔÖªµÀÉ豸µÄÎïÀí³ß´ç£¬Ò²¿ÉÒÔͨ¹ý¼ÆËãÆÁÄ»¶Ô½ÇÏߵij¤¶ÈµÃµ½¡£
ÔÚAndroidµÄÉè¼Æ¹æ·¶ÖУ¬°ÑÆÁÄ»·Ö³ÉÁË4ÀࣺSmall£¬Normal£¬Large£¬Extra
Large
ÆÁÄ»ÃܶÈ
ÆÁÄ»ÔÚÎïÀí³ß´ç·¶Î§ÄÚµÄÏñËØÊýÁ¿¡£Ò²Í¨³£Ö¸DPI(dots per inch)¡£ÆÁÄ»ÃܶÈԽС£¬Ëù°üº¬µÄÏñËØÒ²¾ÍÔ½ÉÙ¡£
ÔÚAndroidµÄÉè¼Æ¹æ·¶ÖУ¬°ÑÆÁÄ»ÃܶȻ®·ÖΪ4ÀࣺLow£¬Medium£¬High£¬Extra
High¡£
ÆÁÄ»·½Ïò
ÆÁÄ»·½ÏòÓкáÏòºÍ×ÝÏò£¬ÕâÁ½ÖÖÇé¿öÏÂµÄÆÁÄ»³¤¿í±ÈÊDz»Í¬µÄ¡£
·Ö±æÂÊ
¸úµçÄÔ·Ö±æÂʵĸÅÄîÀàËÆ£¬±íʾÆÁÄ»ºá×Ý·½ÏòµÄÏñËØÊý£¬ÀýÈç480*800¡£
ÔÚΪAPP½øÐÐÆÁÄ»ÊÊÅäʱ£¬²»ÄÜÖ»¿¼Âǵ½ÏñËØ£¬»¹ÓÐÆÁÄ»´óС£¬ÆÁÄ»Ãܶȵȵȡ£
DPI
dots per inch£¬¾ÍÊÇÿӢ´ç¶àÉÙÏñËØ£¬Í¨¹ýÏÂÃæ¹«Ê½¿ÉÒԵõ½¡£
DPI£½£¨¡Ì£¨ºáÏò·Ö±æÂÊ^2+×ÝÏò·Ö±æÂÊ^2£©£©/ÆÁÄ»³ß´ç
ÔÚAndroidµÄÉè¼Æ¹æ·¶ÖУ¬DPI·Ö³ÉÁË5¸öµµ´Î£ºMDPI£¬HDPI£¬XHDPI£¬XXHDPI£¬XXXHDPI£¬ËüÃǵıÈÀýÊÇ
2:3:4:6:8

¿ÉÒÔ¿´Ò»Ï²»Í¬µÄ³ß´çµ¥Î»ÔÚ²»Í¬ÆÁÄ»µÄÇé¿ö£º
XHDPIÆÁÄ»(~320DPI)

HDPIÆÁÄ»(~240DPI)

MDPIÆÁÄ»(~160DPI)

ͨ¹ýÒÔÉÏ¿ÉÒԵóö£º
1.ÔÚMDPIµÄÆÁÄ»(¼´160DPI)£¬1dp ºÍ1sp »ù±¾µÈÓÚ 1px
¡£
2.dp ºÍ pxµÄ»»Ë㹫ʽ£ºpx £½ dp*(DPI/160)¡£
3.sp ºÍ pxµÄ»»Ë㹫ʽ£ºpx £½ sp*(DPI/160)¡£
2.Ϊ²»Í¬µÄÆÁÄ»´óСÌṩ²¼¾Ö
ͨ³£À´Ëµ£¬Androidͨ¹ýËõ·ÅʹµÃAPP¿ÉÒÔÊÊÓ¦ÆÁÄ»´óС£¬µ«ÊǶÔÓÚÒ»Ð©ÌØÊâÇé¿ö£¬ÎÒÃÇ¿ÉÒÔÌṩ¸ü¼ÑµÄ²¼¾ÖʹµÃÌåÑé¸üºÃ¡£ÀýÈ磬ÔÚ´óÆÁÄ»É豸£¬¿ÉÒÔͨ¹ýµ÷ÕûUI×é¼þµÄλÖúʹóСʹÆÁÄ»µÄ¿Õ¼ä¿ÉÒԵõ½³ä·ÖÀûÓ᣶ÔÓÚСÉ豸£¬¾ÍÖ»ÐèÒªµ÷ÕûUI×é¼þµÄ´óС¾ÍÐС£
²¼¾Ö³£ÓõĴóСÓÐsmall,normal,largeºÍx-large£¬¿ÉÒÔ¸ù¾ÝÐèҪѡÔñ²¼¾ÖµÄÀàÐͽøÐÐÅäÖá£
³£ÓõIJ¼¾ÖÅäÖÃÈçÏ£º
res/layout/layout.xml
res/layout-small/layout.xml
res/layout-large/layout.xml
res/layout-large-land/layout.xml
3.Ϊ²»Í¬µÄÆÁÄ»ÃܶÈÌṩͼƬ
¶ÔÓÚandroidÀ´Ëµ£¬¿ÉÒÔʹÓõÄͼƬÀàÐÍÓÐ.png£¬.jpg£¬.gifÒÔ¼°.9.png(µã¾Åͼ)¡£APP»áΪ²»Í¬µÄÆÁÄ»·Å´ó»òÕßËõСͼƬ¡£Èç¹ûֻΪMDPIµÄÉ豸ÌṩÁËͼƬ£¬ÄÇô¶ÔÓÚHDPIµÄÉ豸ͼƬ»á·Å´ó£¬¶ÔÓÚLDPIµÄÉ豸ͼƬ»áËõС¡£ËùÒÔ×îºÃµÄ·½Ê½ÊÇΪ²»Í¬µÄÆÁÄ»ÃܶÈÌṩͼƬ¡£
¶ÔÓÚÉè¼ÆÊ¦À´Ëµ£¬¿ÉÒÔÑ¡Ôñ320DPI×÷Ϊ±ê×¼¶ÔAPP½øÐÐÉè¼Æ£¬È»ºóÑ¡ÔñPhotoshop/IllustratorÕâЩ¹¤¾ß£¬°´ÕÕÉ豸µÄ±ÈÀý£¬µ¼³ö²»Í¬³ß´çµÄͼƬ¡£ÀýÈ磬Ϊ±ê×¼³ß´çÉ豸(XHDPI)Éè¼ÆµÄ200¡Á200°´Å¥Í¼£¬¾ÍÐèҪΪHDPIÉ豸µ¼³ö150¡Á150µÄ³ß´ç£¬ÎªMDPIÉ豸µ¼³ö100¡Á100µÄ³ß´ç
È»ºó½«ÕâЩͼƬ·Åµ½ res/ ÖжÔÓ¦µÄÎļþ¼Ð£¬APP»á¸ù¾ÝÉ豸µÄÇé¿öѡȡͼƬ¡£
ÉèÖÃÈçÏ£º
res/drawable-xhdpi/image.png
res/drawable-hdpi/image.png
res/drawable-mdpi/image.png
4.µã¾Åͼ
¡°µã¾Å¡±ÊÇÒ»ÖÖÌØÊâµÄPNG¸ñʽ£¬¿ÉÒÔ¶ÔͼƬָ¶¨ÀÉìÇøÓòºÍÄÚÈÝÇøÓò¡£ÔÚSDKÀïÃæµÄ
tools/Îļþ¼Ð¾ÍÄÜÕÒµ½ÖÆ×÷ÕâÖÖͼƬµÄ¹¤¾ß¡£

¹¤¾ß½çÃæÈçÏ£º

°ÑͼƬÍÏ×§µ½¹¤¾ßÀïÃæ½øÐмӵã±ê¼Ç
ÔÚͼƬµÄ×ó±ß£¨AÇøÓò×ó²à£©ºÍÉϱߣ¨BÇøÓòÉÏ·½£©½øÐбê¼Ç£¬±íʾ¸ÃÇøÓò¿ÉÉìËõ¡£
AÇøÓò£º

BÇøÓò£º

ÔÚͼƬµÄµ×±ß£¨cÇøÓòÏ·½£©ºÍÓұߣ¨DÇøÓòÓҲࣩ½øÐбê¼Ç£¬±íʾ¸ÃÇøÓòÊÇÄÚÈÝ¡£
CÇøÓò£º

DÇøÓò£º

±ê¼ÇÍêÖ®ºó£¬ÎļþÔÚ±£´æµÄʱºò»á½«¸ÄΪ.9.png¸ñʽ¡£
ʹÓÃʱ£¬ÔÚxmlÎļþÖÐÉèÖÃandroid:background=¡±@drawable/button¡±¡£

¹ØÓÚµã¾ÅµÄÎÄÕÂÇ°ÃæÓÐͬѧ½éÉܹý£ºhttp://isux.tencent.com/android-ui-9-png.html
µ±È»£¬Èç¹ûÄãÏë͵ÀÁµÄ»°£¬ÕâÀïÓиö¹¤¾ß¿ÉÒÔ°ïÄãµã:)http://romannurik.github.io/AndroidAssetStudio/nine-patches.html
ËÄ£¬×ܽá
ÔÚ×öÆÁÄ»ÊÊÅäʱ£¬ÐèҪעÒâÒÔϼ¸¸öµã£º
ÔÚ¶¨Òåxml²¼¾ÖµÄʱºò£¬Ê¹ÓÃdpµ¥Î»£¬wrap_content£¬fill_parent(match_parent)
Ϊ²»Í¬µÄÆÁÄ»ÃܶÈÌṩ²»Í¬µÄͼƬ
¶ÔÓÚÓÐijЩ¹æÔò(½¥±ä)µÄͼƬʹÓõã¾Åͼ
ÎªÌØÊâµÄÆÁÄ»ÀàÐÍ(ºáÊúÆÁ)Ìṩ²»Í¬µÄ²¼¾Ö
|