怎么把Android的DP转换成Flutter的LP? DP和LP有什么区别?

时间:2019-03-06 22:01:32

标签: mobile flutter pixel units-of-measurement

我得到了一个新应用的设计。所有尺寸均适用于Android,并以DP-(与密度无关的像素)给出。如何将这些值转换为 Flutter的LP 逻辑像素)。 我知道Window.devicePixelRatio为我提供了每个逻辑像素的设备像素数。

DP和LP之间的确切区别是什么? 是否有将dp转换为lp的内置方法?

2 个答案:

答案 0 :(得分:1)

根据文档(window.devicePixelRatioFlutter for Android Developers),DP和LP之间没有区别。

  

设备像素也称为物理像素。逻辑像素也称为与设备无关或与分辨率无关的像素。

     

Flutter没有dp,但是存在逻辑像素,这些像素与设备无关的像素基本相同。所谓的devicePixelRatio表示单个逻辑像素中物理像素的比率。

答案 1 :(得分:0)

您可以使用下面的代码使您的移动屏幕响应:

CREATE OR REPLACE FUNCTION update_sellstatus()
  RETURNS trigger AS
$body$
BEGIN
  if new."sellStatus" = 'Sold' then
    update auctions
      set "auctionStatus" = 'End'
    where auctions."idProduct" = new."id";
  end if;
END
$body$
language plpgsql

因此,如果您使用5英寸的屏幕进行调试,则屏幕的高度将为640或MediaQuery.of(context).size。 (宽度和高度)将为您提供测试设备的屏幕尺寸 double getHeight(double screenHeightofthedeviceYouAreDebuging,BuildContextcontext,double size) { return (MediaQuery.of(context).size.height / screenHeight) * size; } screen Height of the device You Are Debuging = 640 context = BuildContext。 因此它将根据使用的设备转换屏幕尺寸

size = size you want to be as you image , container etc height