Autore Topic: Pannello trasparente in una gridview  (Letto 1460 volte)

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Pannello trasparente in una gridview
« il: 24 Marzo 2013, 15:29:26 CET »
0
Salve, ho creato un menù con una gridview i cui elementi sono immagini caricate con un custom adapter, ovviamente le immagini non hanno scritte e volevo sovrapporre un pannello trasparente su cui scrivere il titolo proprio come suggerito nelle linee guida.. qualche idea?


Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Pannello trasparente in una gridview
« Risposta #1 il: 25 Marzo 2013, 11:01:44 CET »
0
non basta che alla tua immagine sovrapponi un elemento che ha come background un colore trasparente?

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Re:Pannello trasparente in una gridview
« Risposta #2 il: 25 Marzo 2013, 11:59:01 CET »
0
Si... infatti per questa applicazione particolare, in cui non necessito di cambiare il testo pensavo di farlo modificando proprio l'immagine, il risultato mi pare vada bene... dovrò solo fornire le immagini in varie dimensioni in modo che il testo non risulti poco definito...
Nel caso però volessi rendere il testo modificabile "al runtime" come dovrei fare? come posso sovrapporre ad un immagine un layer trasparente e poi un textview? (è così che bisognerebbe procedere?)

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Pannello trasparente in una gridview
« Risposta #3 il: 25 Marzo 2013, 13:19:42 CET »
+1
si intendevo quelloXD

nel tuo layout dovresti avere un'imageview con la tua immagine,e un altro layout allineato in basso col background trasparente.
ne ho fatto uno al volo

Codice (Java): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/yellow" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/green">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="titolo" />
    </LinearLayout>

</RelativeLayout>

qua al posto dell'immagine ho @drawable/yellow e al posto del colore semitrasparente ho @drawable/green

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Re:Pannello trasparente in una gridview
« Risposta #4 il: 25 Marzo 2013, 14:12:37 CET »
0
Però io nel layout ho solo la gridview e poi l'imageview la passo attraverso l'adapter... come potrei fare?

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Pannello trasparente in una gridview
« Risposta #5 il: 25 Marzo 2013, 16:40:53 CET »
0
Se hai un tuo custom adapter,quando lo crei devi anche passargli il layout da usare per renderizzare il singolo elemento
In pratica avresti:
-il layout dell'activity,col <gridView>
-il layout dell'elemento (simile a quello che ti ho postato)

la domanda è,stai usando un adapter tuo?

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Re:Pannello trasparente in una gridview
« Risposta #6 il: 26 Marzo 2013, 14:36:08 CET »
0
Si sto usando una versione modificata dell'image adapter che c'è nella documentazione della gridview...

http://pastebin.com/36PTWRXh
« Ultima modifica: 26 Marzo 2013, 14:49:31 CET da kubrick89 »

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Pannello trasparente in una gridview
« Risposta #7 il: 26 Marzo 2013, 14:56:38 CET »
0
nell'esempio che c'è qui Grid View | Android Developers

Codice (Java): [Seleziona]
public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

come vedi nel getView lui dichiara un'ImageView,la riempe e la torna.Quell'imageview rappreseta una cella della tua gridview.
tu però al posto di creare un'imageview e tornare quella,puoi creare la view che vuoi(un relative layout) settarci il layout che vuoi con un inflater e riempirla come vuoi,poi la torni

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Re:Pannello trasparente in una gridview
« Risposta #8 il: 26 Marzo 2013, 15:21:49 CET »
0
Ah ok... mi conviene di più creare un layout xml come quello che hai postato prima e usare l'inflater sul context (giusto?) o creare il layout in java?

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Pannello trasparente in una gridview
« Risposta #9 il: 26 Marzo 2013, 15:59:52 CET »
0
mah è più pulito tenere il layout nel suo xml e da java valorizzare i campi/immagini,avresti 40 righe di codice solo per settare le proprietà degli elementi del layout

Offline kubrick89

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    JabbuDev
  • Sistema operativo:
    Windows 7
Re:Pannello trasparente in una gridview
« Risposta #10 il: 27 Marzo 2013, 20:43:36 CET »
0
Perfetto! ce l'ho fatta... grazie mille!