2012-07-07 71 views
0

我有一個佈局,頂部有一些水平滾動,底部有一些文本框,剩下的空間放在中間,我用ImageView填充它。在該ImageView中我加載了一個位圖。我們稱之爲ImageView 底部一個在屏幕上獲取像素大小,而不是實際大小?

現在,在ImageView之上,我動態加載另一個ImageView,用戶可以通過拖動來移動它。第二個ImageView(頂部的一個)有一個小圖標,它將覆蓋在我的位圖頂部並保存。把它想象成一個標誌/水印。

這兩個ImageView都在RelativeLayout中,所以我可以移動頂部佈局。

現在我遇到的問題是,我無法獲取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的大小。

任何想法我做錯了什麼?

回答

0

我沒有找到方法,所以我做了「手動」。

我擴展ImageView的類與我MyImageView類和在onMeasure倍率我已經計算的比例因子,並相應地創建了一個矩形根據我的RelativeLayout的表示座標的邊界,在其內部的是MyImageView

我這樣走,因爲我在這裏找到一篇文章,提到創建自己的ImageView類,找不到鏈接了。

無論如何,之後我檢查頂部ImageView的的頂部/左側定位並設置最大的位置,同時在onTouch方法移動它。

相關問題