찾다

 >  Q&A  >  본문

android-ui - 设计师给的布局和字体尺寸单位为px,在写代码的时候要如何转换成Android用的dp和sp ?

问题如题描述,设计给的尺寸都是px的,而且也不告诉他们在什么尺寸和分辨率的屏幕上做的设计?作为程序员要如何转换单位?

我不是在问px与dp之间如何转换的问题。而是由设计师的px如何转换成写在xml里的dp的问题。

巴扎黑巴扎黑2890일 전739

모든 응답(4)나는 대답할 것이다

  • 阿神

    阿神2017-04-17 18:01:24

    으아악

    이런 상황이 발생하면 아티스트에게만 말할 수 있습니다(여기서는 디자이너라고 부를 수 없습니다). 그러면 안 됩니다!!!

    앱 UI를 디자인할 때마다 반드시 주류 표준 해상도로 디자인해야 하며, 그러면 해당 화면 밀도를 찾을 수 있고, 마지막으로 px를 dpi로 변환할 수 있습니다.
    이 원칙에서 벗어나면 결국 당신의 구현은 비현실적이고 UI 디자인 초안과 거리가 멀게 됩니다.

    참조:
    기기 측정항목

    계산 방법:
    디자인 시안의 해상도와 해당 해상도가 일반적으로 해당하는 화면 밀도를 파악한 후 다음 공식에 따라 계산합니다.

    으아악

    p.s. Density는 Device Metrics의 Density 열 값입니다.
    p.p.s. 이 열혈 답변을 읽은 후에도 아티스트와 싸우지 마세요. [얼굴 가리기] [겁쟁이 인정] 2333

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 18:01:24

    먼저 디자인에서 화면 크기가 무엇인지 알아야 합니다
    보통 1080x1980(? 또는 기타)이며 일반적으로 xxhdpi에 속합니다. 즉, 1dp는 3px에 해당합니다
    디자인의 화면 너비가 480(또는 왼쪽 및 오른쪽)이면 1dp는 1px이어야 합니다

    회신하다
    0
  • 天蓬老师

    天蓬老师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

    원본링크

    회신하다
    0
  • PHPz

    PHPz2017-04-17 18:01:24

    공개 정적 부동 소수점 px2dp(컨텍스트 컨텍스트, 부동 소수점 pxVal)

    으아악

    변환 방법: px --->

    회신하다
    0
  • 취소회신하다