2011-10-30 71 views
0

我想在屏幕上顯示圖像,但圖像邊緣將大於屏幕本身的尺寸。 如果IE的最大屏幕寬度是X,那麼我希望圖像的寬度爲X + 100,最大屏幕高度爲Y,那麼圖像高度爲Y + 100。將圖像增加到屏幕尺寸以外

我希望此選項能夠將圖像移動到右側/左側,並且圖像仍然會顯示在整個屏幕上。

回答

2

爲此我使用RelativeLayoutrequestLayout功能:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent"> 

    <ImageView 
     android:id="@+id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true"/> 

</RelativeLayout> 

並在代碼生成適當的圖像:

Display display = getWindowManager().getDefaultDisplay(); 
    int  width = display.getWidth(); 
    int  height = display.getHeight(); 

    // example code with bigger dimensions than the screen 

    Bitmap b = Bitmap.createBitmap(width + 100, height + 100, Bitmap.Config.ARGB_8888); 

    // draw smth on the bitmap 

    Canvas c = new Canvas(b); 
    Paint p = new Paint(); 

    p.setColor(Color.RED); 

    c.drawCircle(b.getWidth()/2, 
       b.getHeight()/2, 
       Math.min(b.getWidth(), b.getHeight())/2, 
       p); 

    // set the image 
    ImageView iv = (ImageView) findViewById(R.id.iv); 
    iv.setImageBitmap(b); 

    // call this method to change imageview size 
    iv.requestLayout(); 
+0

這是很好的,如果我想畫圓,但我想提請一個現有的可繪製圖像。我怎樣才能做到這一點?謝謝。 –

+0

對不起,我不知道現有的類可以爲你做什麼,也許有一些scrollview。但是如果你想讓圖像大於屏幕,我給了你解決方案。如果你想從資源中設置一個現有的圖像(爲了簡單起見),你可以使用'd = getResource()。getDrawable(R.drawable.image)'和'iv.setImageDrawable(d)'。 – m039