Questa domanda può sembrare banale e mi è stata chiesta molte volte, ma non sono riuscito a trovare una risposta che funzionasse per me.Come ottenere larghezza e altezza dell'immagine visualizzata in Android?
Ho un ImageView
e GLSurfaceView
che viene disegnato sopra ImageView
quando si preme un pulsante.
Per il mio ImageView
passaggio uno Bitmap
e ridimensionarlo per evitare un'eccezione OutOfMemoryError
. Il mio ImageView
è allineato ad altri elementi nell'interfaccia utente, quindi estende l'immagine per riempire larghezza/altezza (questo è quello che voglio).
Quando cambio da ImageView
a GLSurfaceView
ottengo regioni nere intorno la mia immagine che utilizzate per essere trasparente nella mia ImageView
, perché GLSurfaceView
fa un buco utente e funziona in modo diverso rispetto agli elementi usuali trae sfondo della mia immagine in bianco e io non ne ho bisogno, perché ho uno sfondo personalizzato.
Sono sceso con una soluzione per impostare LayoutParams
per GLSurfaceView
a livello di codice e io uso la larghezza e l'altezza di Bitmap
, ma ho finito con un'immagine più piccola. Ho bisogno dell'esatta larghezza e altezza dell'immagine visualizzata, non dello ImageView
perché ha regioni trasparenti.
PS: Non sono un esperto di OpenGL e se si dispone di una soluzione che funziona per OpenGL, si prega di condividerlo.
una)
_______________
| |
| |
|---------------| <-
| transparent |
|---------------| <- Entire
| | ImageView
| Image | need
| | only this
|---------------| <-
| transparent |
|---------------| <-
| |
---------------
b)
_______________
| |
| |
|---------------| <-
| black |
|---------------|
| |
| Image | GLSurfaceView
| |
|---------------|
| black |
|---------------| <-
| |
---------------
mio ImageView
e GLSurfaceView
:
<android.opengl.GLSurfaceView
android:id="@+id/glsvImageHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/horScrollImage"
android:layout_marginBottom="5dp"
android:layout_marginTop="50dp"
android:visibility="invisible" />
<ImageView
android:id="@+id/ivImageHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/horScrollImage"
android:layout_marginBottom="5dp"
android:layout_marginTop="50dp"
android:visibility="visible" />
La bitmap stessa contiene regioni superiori e inferiori trasparenti? –
No, la bitmap non contiene regioni trasparenti. –