问题如题描述,设计给的尺寸都是px的,而且也不告诉他们在什么尺寸和分辨率的屏幕上做的设计?作为程序员要如何转换单位?
我不是在问px与dp之间如何转换的问题。而是由设计师的px如何转换成写在xml里的dp的问题。
阿神2017-04-17 18:01:24
으아악
이런 상황이 발생하면 아티스트에게만 말할 수 있습니다(여기서는 디자이너라고 부를 수 없습니다). 그러면 안 됩니다!!!
앱 UI를 디자인할 때마다 반드시 주류 표준 해상도로 디자인해야 하며, 그러면 해당 화면 밀도를 찾을 수 있고, 마지막으로 px를 dpi로 변환할 수 있습니다.
이 원칙에서 벗어나면 결국 당신의 구현은 비현실적이고 UI 디자인 초안과 거리가 멀게 됩니다.
참조:
기기 측정항목
계산 방법:
디자인 시안의 해상도와 해당 해상도가 일반적으로 해당하는 화면 밀도를 파악한 후 다음 공식에 따라 계산합니다.
p.s. Density는 Device Metrics의 Density 열 값입니다.
p.p.s. 이 열혈 답변을 읽은 후에도 아티스트와 싸우지 마세요. [얼굴 가리기] [겁쟁이 인정] 2333
PHP中文网2017-04-17 18:01:24
먼저 디자인에서 화면 크기가 무엇인지 알아야 합니다
보통 1080x1980(? 또는 기타)이며 일반적으로 xxhdpi에 속합니다. 즉, 1dp는 3px에 해당합니다
디자인의 화면 너비가 480(또는 왼쪽 및 오른쪽)이면 1dp는 1px이어야 합니다
天蓬老师2017-04-17 18:01:24
1dp는 화면 밀도 값이 160ppi일 때 1px로 정의됩니다. 즉, mdpi에서는 1dp = 1px입니다. mdpi를 표준으로 사용하면 이 화면의 밀도 값 비율은 다음과 같습니다. ldpi: mdpi: hdpi: xhdpi: xxhdpi = 0.75: 1: 1.5: 2: 3. 즉, xhdpi의 밀도에서는 1dp=2px입니다. hdpi의 경우 1dp=1.5px. 다른 비유.
1dp=(화면 ppi/160)px
원본링크