Voglio sovrapporre textview
su imageview
su Android che ho fatto programmaticamente. Voglio anche che l'immagine debba essere in grado di ingrandire e rimpicciolire anche io. Ma sono bloccato nel problema di posizionare il testo sull'immagine in modo tale che mentre ingrandisco l'immagine, il testo non dovrebbe ingrandire e dovrebbe rimanere nella stessa posizione sull'immagine non sullo schermo.Android ImageView Zoom con overlay di testo
risposta
OK, ho creato un layout XML adatto alle vostre esigenze. Tutto quello che devi fare è ingrandire o rimpicciolire l'immagine.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="287dp"
android:layout_height="287dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Constant Text Overlay"
android:layout_gravity="center_horizontal|center_vertical"/>
<!-- Don't want it centered? Then change the layout gravity to fit your needs -->
</FrameLayout>
Con questo, si può facilmente modificare la larghezza e l'altezza della ImageView e la TextView rimarrà nel centro senza ottenere grande o più piccolo.
Ho notato che avete preso una soluzione programmatica e potete facilmente vedere come viene fatto tramite XML e convertirlo in codice.
Ciò che è importante qui è che hai un contenitore intorno alla tua ImageView che avvolge il contenuto. Al suo interno si ha il ImageView di larghezza/altezza specificata e una TextView centrata orizzontalmente e verticalmente nel contenitore.
Ora puoi fare tutto ciò che vuoi fare con l'Immagine, il testo rimarrà intatto; solo rimarrà al centro
Questo è un modo per andare se vuole il testo centrato, ma se vuole il testo in qualche altra posizione allora il commento di zed è un approccio eccellente. –
Ho aggiunto un commento per spiegare come cambiare se da centrato. Ci sono una miriade di posizioni che la mia soluzione funziona correttamente. Anche questa è una delle soluzioni più semplici –
Inoltre, se l'utente non lo desidera in una delle posizioni determinate da 'layout_gravity', può aggiungere ulteriori attributi come margini e tali –
Hai provato ad aggiungere TextView come View a ImageView e ignorare i gesture-listener? –
Controlla questo: http://stackoverflow.com/questions/14004424/android-zoomable-scrollable-imageview-withoverover?rq=1 – zed
@TobiasK. cosa intendi con l'aggiunta di "aggiungi il TextView come visualizzazione per ImageView"? ImageView può avere elementi figlio? – techtinkerer