ããpxï¼
ããå³åç´ ï¼1px代表å±å¹ä¸ä¸ä¸ªç©ççåç´ ç¹ï¼
ããpxåä½ä¸è¢«å»ºè®®ä½¿ç¨ï¼å 为åæ ·100pxçå¾çï¼å¨ä¸åææºä¸æ¾ç¤ºçå®é
大å°å¯è½ä¸å
ããdpï¼
ããè¿ä¸ªæ¯æ常ç¨ä½ä¹æé¾ç解ç尺寸åä½ãå®ä¸âåç´ å¯åº¦âå¯åç¸å
³ï¼æ以é¦å
æ们解éä¸ä¸ä»ä¹æ¯åç´ å¯åº¦ãå设æä¸é¨ææºï¼å±å¹çç©ç尺寸为1.5è±å¯¸x2è±å¯¸ï¼å±å¹å辨ç为240x320ï¼åæ们å¯ä»¥è®¡ç®åºå¨è¿é¨ææºçå±å¹ä¸ï¼æ¯è±å¯¸å
å«çåç´ ç¹çæ°é为240/1.5=160dpiï¼æ¨ªåï¼æ320/2=160dpiï¼çºµåï¼ï¼160dpiå°±æ¯è¿é¨ææºçåç´ å¯åº¦ï¼åç´ å¯åº¦çåä½dpiæ¯Dots Per Inchç缩åï¼å³æ¯è±å¯¸åç´ æ°éã横åå纵åçè¿ä¸ªå¼é½æ¯ç¸åçï¼åå æ¯å¤§é¨åææºå±å¹ä½¿ç¨æ£æ¹å½¢çåç´ ç¹ã
ããä¸åçææº/å¹³æ¿å¯è½å
·æä¸åçåç´ å¯åº¦ï¼ä¾å¦å为4寸ææºï¼æ480x320å辨ççä¹æ800x480å辨ççï¼åè
çåç´ å¯åº¦å°±æ¯è¾ä½ã
ããAndroidç³»ç»å®ä¹äºåç§åç´ å¯åº¦ï¼ä½ï¼120dpiï¼ãä¸ï¼160dpiï¼ãé«ï¼240dpiï¼åè¶
é«ï¼320dpiï¼ï¼å®ä»¬å¯¹åºçdpå°pxçç³»æ°åå«ä¸º0.75ã1ã1.5å2ï¼è¿ä¸ªç³»æ°ä¹ä»¥dpé¿åº¦å°±æ¯åç´ æ°ã
ããä¾å¦çé¢ä¸æä¸ä¸ªé¿åº¦ä¸ºâ100dpâçå¾çï¼é£ä¹å®å¨240dpiçææºä¸å®é
æ¾ç¤ºä¸º80x1.5=120pxï¼å¨320dpiçææºä¸å®é
æ¾ç¤ºä¸º80x2=160pxãå¦æä½ æ¿è¿ä¸¤é¨ææºæ¾å¨ä¸èµ·å¯¹æ¯ï¼ä¼åç°è¿ä¸ªå¾ççç©ç尺寸âå·®ä¸å¤âï¼è¿å°±æ¯ä½¿ç¨dpä½ä¸ºåä½çææã
ããdipï¼
ããä¸dpå®å
¨ç¸åï¼åªæ¯ååä¸åèå·²ãå¨æ©æçAndroidçæ¬éå¤ä½¿ç¨dipï¼åæ¥ä¸ºäºä¸spç»ä¸å°±å»ºè®®ä½¿ç¨dpè¿ä¸ªååäºã
ããspï¼
ããä¸ç¼©æ¾æ å
³çæ½è±¡åç´ ï¼Scale-independent Pixelï¼ãspådpå¾ç±»ä¼¼ä½å¯ä¸çåºå«æ¯ï¼Androidç³»ç»å
许ç¨æ·èªå®ä¹æå尺寸大å°ï¼å°ãæ£å¸¸ã大ãè¶
大ççï¼ï¼å½æå尺寸æ¯âæ£å¸¸âæ¶1sp=1dp=0.00625è±å¯¸ï¼èå½æå尺寸æ¯â大âæâè¶
大âæ¶ï¼1sp>1dp=0.00625è±å¯¸ã类似æ们å¨windowséè°æ´åä½å°ºå¯¸ä»¥åçææââçªå£å¤§å°ä¸åï¼åªææå大å°æ¹åã
ããè¿æå 个æ¯è¾å°ç¨å°ç尺寸åä½ï¼
ããmmï¼
ããå³æ¯«ç±³ï¼
ããinï¼
ããå³è±å¯¸ï¼1è±å¯¸=2.54åç±³ï¼çº¦ï¼ï¼
ããptï¼
ãã1pt=1/72è±å¯¸=0.035åç±³ï¼
ããæä½³å®è·µï¼æåç尺寸ä¸å¾ç¨spåä½ï¼éæåç尺寸ä¸å¾ä½¿ç¨dpåä½ãä¾å¦textSize="16sp"ãlayout_width="60dp"ï¼å¶å°éè¦ä½¿ç¨pxåä½ï¼ä¾å¦éè¦å¨å±å¹ä¸ç»ä¸æ¡ç»çåé线æ¶ï¼
ãã<View layout_width="match_parent" layout_height="1px"/>
ããè¡¥å
ï¼
ãã1. android.view.ViewGroup.LayoutParams.heightåwidthè¿ä¸¤ä¸ªå±æ§çåä½ä¸ºåç´ ï¼ä½æ¯ä¸ºäºå
¼å®¹å¤ç§å辨ççææºï¼æ们éè¦æ好使ç¨dpã
2. æ ¹æ®ææºçå辨çä»dpçåä½è½¬æpx
public static int dip2px(Context context, float dpValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue*scale + 0.5f);
}
3.æ ¹æ®ææºçå辨çä»px转ædp
public static int px2dip(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue/scale + 0.5f);
}
温馨提示:答案为网友推荐,仅供参考