我使用ADB来获取Android设备屏幕的密度,然后将其映射到mdpi、hdpi、xhdpi等。我可以使用read和awk将密度保存到一个变量中,但是我无法对其进行任何类型的比较。作为一个Bash新手,我不确定什么变量类型的结果,并试图找出,例如,如果它小于300,如果我能做到的话,到目前为止还没有肯定的结果。
function device(){
adb -s <device ID> shell getprop ro.sf.lcd_density | while read line
do
PPI=`echo $line | awk '{pri
我正在尝试从照片中提取真实世界的度量,在本例中为厘米(Cm)。我写了一小段代码,让我知道计算机是如何在屏幕上以像素到厘米的单位进行测量的:
# When pixels(px) are equal to PPI, then 1 PPI = 1 inch or 2.54cm.
# 1cm = 96pixels/2.54, or 1cm = 37.7952756 pixels at 96ppi
# As PPI increases, and number of pixels stay the same, cm decreases.
# As number of pixels increases, a
我想显示一张有交通流信息的地图。我有一个使用WebGL的web浏览器解决方案(在那里,我可以使用map.addLayer(defaultLayers.vector.normal.traffic);添加向量层)。
对于没有WebGL的浏览器,我使用光栅层。我无法添加流量层,我尝试使用我在以下代码中找到的代码:
var trafficService = platform.getTrafficService();
var provider = new H.service.traffic.flow.Provider(trafficService);
map.addLayer(new H.map.lay
预期结果
我有一些UI小部件,其尺寸是为iPhone 4 Retina设备设计的。该单元以像素为单位,例如,30像素宽30像素高的按钮。我想把设计风格复制到安卓设备上,比如之前的30乘30按钮,iPhone 4 Retina中的30/640 = 4.6875%的屏幕宽度和屏幕高度的30/960 = 9.375%,然后我预计它也需要4.6875%的安卓设备屏幕宽度,9.375%的屏幕高度。
问题
不知道以下代码中使用的iPhone 4 Retina设备的大小缩放因子。
代码
/**
* Change dip value to pixel value using density of curre
我需要将DensityDpi转换为Int。我试过这样做:
int dens = dm.DensityDpi;
诅咒是没用的。完整的代码是:
DisplayMetrics dm = new DisplayMetrics();
WindowManager.DefaultDisplay.GetMetrics(dm);
int width = dm.WidthPixels;
int height = dm.HeightPixels;
int dens = dm.DensityDpi;
double wi = (double)width / (double)dens;
double hi = (doub