Autore Topic: Spazio sopra e sotto ad una ImageView in una lista  (Letto 274 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Spazio sopra e sotto ad una ImageView in una lista
« il: 22 Giugno 2015, 18:16:59 CEST »
0
Salve a tutti!

La mia listView ha una immagine di preview che vorrei fosse alta esattamente quanto il tasto ma questa immagine di preview ha un "padding" sopra e sotto l'immagine... il che lo rende abbastanza noioso....

avete suggerimenti su come fare?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #1 il: 23 Giugno 2015, 11:41:24 CEST »
0

Io intanto ti suggerisco di riformulare la domanda, perché non è affatto chiara.

- Cosa intendi per immagine di preview?
- Cosa intendi per "padding" dell'immagine? E' un margine intrinseco dell'immagine o è applicato via codice?
- Cosa intendi per "tasto"? Non si stava parlando di ListView?
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #2 il: 23 Giugno 2015, 12:18:53 CEST »
0
Inizio col scusarmi per la poca chiarezza della domanda e rispondo alle domande:

Citazione
- Cosa intendi per "tasto"? Non si stava parlando di ListView?

per "tasto" intendo il singolo elemento della lista che io posso "tappare" per aprire una scheda/layout differente.

Citazione
- Cosa intendi per immagine di preview?

intendo una immagine piccola che comparirà alla sinistra del tasto come nell'immagine di esempio che ho allegato.

Citazione
- Cosa intendi per "padding" dell'immagine? E' un margine intrinseco dell'immagine o è applicato via codice?

per "padding" intendo lo spazio bianco che mi ritrovo sopra e sotto l'immagine di anteprima... se inserisco l'immagine da codice in questo modo mi ritrovo il padding

Codice (Java): [Seleziona]
image.setImageResource(InfoAlberghi.dbAlbergoPreview[user.pos]);
se invece la inserisco da xml (cioè la setto come background "base") l'immagine non ha padding ed è alta quanto la singola riga (per essere chiari immagina l'immagine della foto allegata senza spazio bianco intorno, cioè che combacia con i bordi in alto, sotto ed a sinistra).

Quindi rifaccio la domanda.... come faccio a settare l'immagine da codice in modo che non abbia questo fastidioso padding o spazio bianco intorno?
 
al momento le immagini sono all'interno dell'app (cioè dentro alla cartella drawable-hdpi).



Spero di essere stato chiaro questa volta e scusa ancora la poca chiarezza della prima domanda

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #3 il: 23 Giugno 2015, 12:30:20 CEST »
0
La soluzione "sporca" consiste nell'impostare l'immagine nello sfondo invece che nel "foreground", usando

Codice (Java): [Seleziona]
image.setBackgroundResource(InfoAlberghi.dbAlbergoPreview[user.pos]);
invece di

Codice (Java): [Seleziona]
image.setImageResource(InfoAlberghi.dbAlbergoPreview[user.pos]);

La soluzione pulita consiste nel capire perché vengono applicati dei bordi. Le ragioni più semplici possono essere:

- L'immagine non viene ridimensionata correttamente (prova android:scaleType="fitXY")
- L'ImageView ha un qualche tipo di padding (prova android:padding="0dp")
- Altro

le prime due si risolvono facilmente intervenendo sull'XML del ListItem. Mettilo nella tua prossima risposta e vediamo se/come risolverlo

Saluti.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #4 il: 23 Giugno 2015, 14:20:56 CEST »
0
allora con la soluzione "sporca" non è cambiato nulla... invece se nell'xml aggiungo
Codice (XML): [Seleziona]
android:scaleType="fitXY" funziona benissimo, naturalmente le immagini vengono tirate molto ma quello perché alcune sono rettangolari.... grazie mille!

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #5 il: 23 Giugno 2015, 14:22:09 CEST »
0
Prova anche "centerCrop" invece di "fitXY"
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #6 il: 23 Giugno 2015, 14:27:10 CEST »
0
ho provato ed alcune mi sembrano leggermente zoommate.... è l'effetto che dovrei ottenere?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #7 il: 23 Giugno 2015, 14:44:59 CEST »
0
Se non ricordo male:
- fitXY ridimensiona l'immagine per occupare tutto lo spazio disponibile, per cui se tenti di mettere un rettangolo in un quadrato l'immagine si deforma
- centerCrop mette l'immagine al centro dello spazio disponibile e la ridimensiona in modo che lo riempa, eventualmente tagliando parte dell'immagine. L'immagine può risultare tagliata, ma l'aspetto non viene modificato (nessuna distorsione)
- centerInside ridimensiona l'immagine all'interno dello spazio disponibile, ma può lasciare dei bordi.

Altri dettagli qui: ImageView.ScaleType | Android Developers
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Spazio sopra e sotto ad una ImageView in una lista
« Risposta #8 il: 23 Giugno 2015, 14:49:23 CEST »
0
ok grazie mille!