recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

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

巴扎黑巴扎黑2890 Il y a quelques jours748

répondre à tous(4)je répondrai

  • 阿神

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

    非战斗人员请远离, 现在开撕!

    Lorsque vous rencontrez une situation comme celle-ci, vous ne pouvez dire qu'à vos artistes (nous ne pouvons pas les appeler ici des designers) : cela ne peut pas être fait !!!

    Chaque fois que vous concevez une interface utilisateur d'application, elle doit être conçue avec une résolution standard courante. Ensuite, vous pouvez trouver la densité d'écran correspondante, et enfin vous pouvez convertir px en dpi
    Si vous vous écartez de ce principe, cela. est-ce que vous agissez comme un voyou. En fin de compte, votre implémentation sera irréaliste et loin du projet de conception de l'interface utilisateur. Cela ne vous regarde pas.

    Référence :Mesures de l'appareil

    Méthode de calcul :Après avoir connu la résolution du projet de conception et la densité d'écran à laquelle correspond généralement la résolution, calculez-la selon la formule suivante :

    dpi = px / density

    p.s. La densité est la valeur de la colonne Densité dans Device Metrics.

    p.p.s. Ne vous disputez pas avec votre artiste après avoir lu cette réponse au sang chaud. [Admettre lâche] 2333

    répondre
    0
  • PHP中文网

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

    Tout d'abord, vous devez savoir quelle est la taille de l'écran dans la conception
    Elle est généralement de 1080x1980 (? ou autre), appartient généralement à xxhdpi, c'est-à-dire que 1dp équivaut à 3px
    Si le la largeur de l'écran du design n'est que de 480 (ou gauche et droite), alors 1dp devrait être 1px

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:01:24

    1dp est défini comme 1px lorsque la valeur de densité de l'écran est de 160ppi, c'est-à-dire qu'à mdpi, 1dp = 1px. En prenant mdpi comme norme, le rapport de valeur de densité de ces écrans est : ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0,75 : 1 : 1,5 : 2 : 3 ; cas de hdpi, 1dp=1,5px. Autres analogies.

    1dp=(écran ppi/160)px

    Lien original

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:01:24

    public static float px2dp (Contexte contexte, float pxVal)

    {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (pxVal / scale);
    }

    Méthode de conversion : px --->

    répondre
    0
  • Annulerrépondre