2011-01-14 16 views
5

So già come ottenere la mia attività come schermo intero su Android, ora ho bisogno di disegnare un'immagine in questa schermata.Disegna un'immagine in modalità Schermo intero Android

Questo è il mio layout XML.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<ImageView android:id="@+id/image01" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" /> 
</LinearLayout> 

Questa immagine è generata e disegnata dinamicamente nel ImageView.

Questo è il mio codice sulla mia attività.

public void onCreate(Bundle savedInstance) { 
    super.onCreate(savedInstance); 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.main); 
} 

Ma quando è in esecuzione, l'attività è a schermo intero, ma ImageView è regolato al centro.

Cosa c'è che non va?

Ho aggiunto il seguente codice per vedere le dimensioni dei componenti.

View view = getWindow().getDecorView(); 
    Log.i("RMSDK:J:IbaReader(decor)", 
      "[w=" + view.getWidth() + ":h=" + view.getHeight() + "]"); 
    Log.i("RMSDK:J:IbaReader(img)", 
      "[w=" + img.getWidth() + ":h=" + img.getHeight() + "]"); 

Ciò risulta in [w = 320: h = 480] in entrambi i casi.

Questo è il mio metodo di disegno.

private void draw() { 
    byte[] image = services.getImageBuffer(600, 1024); 
    Bitmap bmp = Bitmap.createBitmap(600, 1024, Bitmap.Config.RGB_565); 
    int row = 0, col = 0; 
    for (int i = 0; i < image.length; i += 3) { 
     bmp.setPixel(col++, row, image[i + 2] & image[i + 1] & image[i]); 
     if (col == 600) { 
      col = 0; 
      row++; 
     } 
    } 
    img.setImageBitmap(bmp); 
} 

risposta

7

Aggiungi android:scaleType="fitXY" a voi imageview

+0

Ancora non funziona. –

+0

Impostando fitXY, ridimensionerà in X e Y indipendentemente, in modo che src corrisponda esattamente a dst. E funziona bene per me. In che modo stai impostando l'immagine. Aggiungi il codice di impostazione immagine –

+0

aggiunto il metodo di disegno. ty. –

0

Oltre a impostare android:scaleType="fitXY", si può rimuovere la barra del titolo di attività per rendere un'immagine schermo veramente pieno utilizzando uno dei seguenti metodi:

Set preferenza finestra prima setContentView()

requestWindowFeature(Window.FEATURE_NO_TITLE); 

O impostare l'opzione tema nella AndroidManifest file di

android:theme="@android:style/Theme.NoTitleBar" 
Problemi correlati