我有一个宽度为matchParent属性的ImageView。我如何知道设备中imageView的实际尺寸?
我如何知道我的设备上的运行时宽度(使用eclipse,无需以编程方式添加代码)?
我如何知道设备中dpi与pxls之间的转换比率?
我有一个宽度为matchParent属性的ImageView。我如何知道设备中imageView的实际尺寸?
我如何知道我的设备上的运行时宽度(使用eclipse,无需以编程方式添加代码)?
我如何知道设备中dpi与pxls之间的转换比率?
我有一个ImageView的...我怎么能知道我的设备上运行时其宽度
的ImageView的测量时,你可以得到的宽度,即晚于运行。然而,你可以得到屏幕的宽度和高度是这样的:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
如果例如您的ImageView占用了屏幕的特定部分,你可以使用屏幕的宽度和高度测量。
我该如何知道设备中dpi与pxls之间的转换比率?
要转换说20个像素DP做(添加到上面的代码):
int dp = 20/metrics.density:
附加:这里到像素calculator
一个DPI如果您不想使用TreeObserverListener
的方式,您可以尝试让View
进行自我测量,并给出计算后的尺寸。根据我的经验,这在大多数情况下都行得通,但不是全部;特别是如果View
处于某种特殊的动态布局或者层次结构的排序会阻止以正确的顺序计算维度。你可能会找到运气来指称这个流行的answer。