【发布时间】:2012-07-10 22:18:06
【问题描述】:
我有一个布局,顶部有一些水平滚动,底部有一些文本框,中间有任何空间,我用 ImageView 填充它。在那个 ImageView 中,我加载了一个位图。让我们将此 ImageView 称为底部的。
现在,在该 ImageView 之上,我动态加载另一个 ImageView,用户可以通过拖动它来移动它。第二个 ImageView(top one)有一个小图标,将覆盖在我的位图顶部并保存。将其视为徽标/水印。
两个 ImageView 都在一个相对布局中,所以我可以移动顶部布局。
现在我遇到的问题是我无法获得 bottom ImageView 中加载的位图的大小。
我尝试了以下方法:
DisplayMetrics om = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(om);
tv.setText("W:" + b.getScaledWidth(om) + " H:" + b.getScaledHeight(om));
但它不起作用,b.getScaledWidth(om) 返回我的位图的实际宽度,而不是屏幕上的宽度,应该是(以防万一横向图像)480px,我正在测试的手机的屏幕尺寸。
附加信息:为什么我需要这个是因为我在底部 ImageView 中显示的图像与 ImageView 的比例不同。所以我可以得到 ImageView 的大小,但是这个 ImageView 比图像本身大。由于我需要将顶部 ImageView 保持在底部 ImageView 中显示的图像边界内,因此我需要知道底部 ImageView 中图像的大小,而不是底部 View 本身的大小。
任何想法我做错了什么?
【问题讨论】: