我得到了一个新应用的设计。所有尺寸均适用于Android,并以DP-(与密度无关的像素)给出。如何将这些值转换为 Flutter的LP (逻辑像素)。
我知道Window.devicePixelRatio
为我提供了每个逻辑像素的设备像素数。
DP和LP之间的确切区别是什么? 是否有将dp转换为lp的内置方法?
答案 0 :(得分:1)
根据文档(window.devicePixelRatio
和Flutter 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