Autore Topic: Testo scorrevole dentro bottoni  (Letto 1880 volte)

Offline mikyx

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Linux Ubuntu 13.04
Testo scorrevole dentro bottoni
« il: 29 Ottobre 2011, 18:28:43 CEST »
0
Ciao a tutti!

Sto cercando di far scorrere il testo in modo orizzontale dentro un bottone, in modo che si possa leggere tutto, mantenendo però la lunghezza del bottone fissa.
Ho guardato in questo topic ma anche se imposto:

Codice: [Seleziona]
this.bAnswer1.setsetHorizontallyScrolling(true);
this.bAnswer1.setSingleLine(true);
Il testo rimane fermo, non si muove.

Come fare??

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Testo scorrevole dentro bottoni
« Risposta #1 il: 29 Ottobre 2011, 19:30:52 CEST »
0
Ciao! Il topic che hai linkato si riferisce ad un'edittext e lo scorrere non era riferito all'animazione di scorrimento.


Purtroppo non è possibile animare il testo all'interno di un Button tramite la classe Animation di Android perché sfondo del pulsante e il testo sono nella stessa View, che è appunto il Button.
La soluzione complicata sarebbe creare una custom view che estenda la classe Button e modificarne sia il metodo setText() che il metodo onDraw(). Il tutto sarebbe un po' lungo e laborioso se non hai dimestichezza con le view, e non sono sicuro si possa ottenere un risultato funzionante. :)
La soluzione più semplice, invece, è usare un linearLayout che faccia da sfondo e sia cliccabile, e all'interno inserire una TextView con il testo del pulsante e animarla utilizzando la classe Animation.   ;-)

« Ultima modifica: 29 Ottobre 2011, 20:12:44 CEST da Verandi »

Offline mikyx

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Linux Ubuntu 13.04
Re:Testo scorrevole dentro bottoni
« Risposta #2 il: 29 Ottobre 2011, 22:47:29 CEST »
0
ehm potresti fare qualche esempio con del codice così da capire meglio? Parlo della soluzione più semplice... perchè detta così a parole non mi è molto chiaro :-) Se riusciresti a fare una guida sarebbe fantastico, se invece riesco a capirla provo a farla io :-)

EDIT: ok ho fatto tutto l'unica cosa non so come usare la classe Animation, me lo potresti spiegare?? :-)
grazie mille ;)
« Ultima modifica: 30 Ottobre 2011, 00:23:47 CEST da mikyx »

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Testo scorrevole dentro bottoni
« Risposta #3 il: 30 Ottobre 2011, 12:21:52 CET »
0
Ottmo! Per l'animazione, c'è questo topic nella guida ufficiale: View Animation | Android Developers

Ho preparato anche un tutorial usando le custom view: [Medio] Animazione del testo di un Button - Android Developers Italia    ;-)

Offline mikyx

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Linux Ubuntu 13.04
Re:Testo scorrevole dentro bottoni
« Risposta #4 il: 30 Ottobre 2011, 23:34:54 CET »
0
Perchè qualunque cosa faccio non funziona anche se la copio?? :-( :-(
Dal link che mi hai mandato te, quando copio il file XML mi da errore sulla prima stringa <set android:shareInterpolator="false">
L'errore è: ERROR PARSING XML: UNBOUND PREFIX

EDIT: ok risolto :-)

EDIT2: Il testo della TextView adesso mi scorre perfettamente verso destra in modo che lo potrei leggere tutto... c'è solo un problema: quando scorre rimane "troncato" all'ultima lettera visibile, quindi la lettura è impossibile!
Ad esempio se la parola intera è PIPPO e dentro il bottone mi si legge solo PIP, il testo scorre verso destra ma scorre solo la parola PIP, ovvero le lettere non visibili prima non vengono visualizzate nemmeno adesso!
Hai qualche idea sul come risolvere?

« Ultima modifica: 31 Ottobre 2011, 01:13:07 CET da mikyx »

Zate

  • Visitatore
Re:Testo scorrevole dentro bottoni
« Risposta #5 il: 31 Ottobre 2011, 09:39:59 CET »
0
Non è possibile che la frase vada a capo?
Per esempio:
PIP
PO
Prova ad aggiungere android:singleLine = "true"

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Testo scorrevole dentro bottoni
« Risposta #6 il: 31 Ottobre 2011, 09:41:36 CET »
0
Prova a settare la larghezza che ti serve al LinearLayout e mettere wrap_content alla textView. In questo modo credo che la textView visualizzerà tutto il testo ma nello scorrimento verrà disegnata solo all'interno del linearLayout. Non sono sicuro funzioni! 

EDIT: quoto anche Zate sull'aggiungere il singleLine.  ;-)

Offline mikyx

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Linux Ubuntu 13.04
Re:Testo scorrevole dentro bottoni
« Risposta #7 il: 31 Ottobre 2011, 15:15:31 CET »
0
NO :-( le ho provate tutte e due ma niente.

Se faccio il debug con questo codice:
String s=String.valueOf(txtAnswer1.getText()); la variabile s assume tutto il valore PIPPO quindi il testo viene caricato correttamente... Il problema è la visualizzazione e non capisco perchè...

Offline mikyx

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Linux Ubuntu 13.04
Re:Testo scorrevole dentro bottoni
« Risposta #8 il: 31 Ottobre 2011, 16:11:35 CET »
+2
Dopo innumerevoli ricerche, ho risoltooooooooooo!!
Era semplicissimo, senza stare tanto a impazzire xD si può applicare anche ai bottoni senza bisogno di creare un layout con dentro una TextView:
Nel file main.xml bisogna aggiungere, ad esempio dentro le tag <button> del bottone che conterrà il testo) l'attributo

Codice: [Seleziona]
android:ellipsize="marquee"
Questo attributo sposta il testo verso sinistra se non è possibile leggerlo tutto. Per funzionare però il bottone (o la TextView) deve essere selezionato, quindi nel file Java basterà aggiungere:

Codice: [Seleziona]
this.button1.setSelected(true)Dove button1 è ovviamente il nome del bottone :-) :-)

Grazie mille a tutti quelli che mi hanno aiutato!! ;-)
« Ultima modifica: 31 Ottobre 2011, 16:13:09 CET da mikyx »

Zate

  • Visitatore
Re:Testo scorrevole dentro bottoni
« Risposta #9 il: 31 Ottobre 2011, 16:30:02 CET »
0
Grazie a te per aver condiviso quelle due righe di codice  ;-)