2011-12-22 70 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