2011-12-22 102 views
0

可能重複:
Android: Scale a Drawable or background image?在彈出的全屏/縮放圖像

我想打一個包含ImageView的一個彈出。現在,我所展示的Drawable是100x200px大。 Drawable的質量很好,所以我想全屏顯示圖像。我不知道如何。這是到目前爲止我的代碼:

 AlertDialog.Builder imgDialog = new AlertDialog.Builder(
      myactivity.this); 
    ImageView imageView = new ImageView(myactivity.this); 

    Matrix matrix = new Matrix(); 
    matrix.postScale(2, 2); 

    imageView.setImageDrawable(myDrawable); 
    imageView.setImageMatrix(matrix); 



    LayoutParams imageViewLayoutParams = new LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    imageView.setLayoutParams(imageViewLayoutParams); 

    LinearLayout layout = new LinearLayout(myactivity.this); 
    layout.setOrientation(LinearLayout.VERTICAL); 
    layout.addView(imageView); 

    imgDialog.setView(layout); 

我已經嘗試設置FILL_PARENT的的ImageView的LayoutParams的WRAP_CONTENT,但這並不改變這種狀況。 可繪製的寬度爲100,高度爲200.我正在考慮縮放Drawable或ImageView,但是目前尚未完成此項工作..

任何幫助將不勝感激!

+0

這似乎是一個[重複問題](http://stackoverflow.com/q/1400782/403455)。 – 2011-12-22 18:42:28

+0

謝謝,在Google上搜索後沒有找到這個。寬度現在拉伸,但高度仍然是原始大小..任何想法爲什麼? – harmjanr 2011-12-22 19:20:44

回答

1

嘗試操作對話框的窗口對象。

Dialog dialog = imgDialog.create(); 
dialog.setContentView(layout); 
Window window = dialog.getWindow(); 
window.setLayout(
    (int)(window.getWindowManager().getDefaultDisplay().getWidth()), 
    (int)(window.getWindowManager().getDefaultDisplay().getHeight())); 

這將強制對話框在兩個方向上都佔據屏幕的100%。

+0

imgDialog上的getWindow似乎不起作用。 – harmjanr 2011-12-22 19:01:27

+0

呃抱歉您的權利,您需要使用此類和Dialog類型的對象。 – riotopsys 2011-12-22 19:05:33

+0

我幾乎在那裏,但glenviewjeff提供的鏈接。現在已經擴大了寬度,高度仍然不起作用。 – harmjanr 2011-12-22 19:08:10