sto cercando di replicare il seguente all'interno della mia applicazione:Inclinazione una vista testo in Android
Come si può vedere, la sua fondamentalmente un tasto che aumenta/diminuisce il valore della visualizzazione testo contenuto al suo interno Questo pulsante avrà tre stati visivi -> non compressi, diminuirà e aumenterà (come mostrato nell'immagine sopra, l'utente tocca le frecce di aumento e il pulsante appare premuto da quel lato)
Ecco i miei 3 stati tasto attualmente:
Come si può vedere, il problema che ho è essere in grado di inclinare correttamente/ruotare la vista del testo in modo che appaia visivamente corretto e si presentasse inclinato con il pulsante quando una sua rivalutazione o diminuito.
Ho provato due diversi approcci finora:
creare una vista di classe di testo personalizzato che sostituisce il metodo
onDraw()
per inclinare la tela:@Override public void onDraw(Canvas canvas) { canvas.save(); canvas.skew(0.2f, 0f); super.onDraw(canvas); canvas.restore(); }
integrare il
Rotate3dAnimation
classe (fonte here) e utilizzato molte varianti per ottenere il risultato desiderato, ad esempio:Rotate3dAnimation skew = new Rotate3dAnimation( 30, 0, centerX, centerY, 0, false); txtAmount.startAnimation(skew);
Purtroppo, io non sono molto ottenere il risultato esatto che rispecchia la prima immagine qui sopra. Mi sto confondendo con l'impostazione di valori con l'asse Z, inclinazione, rotazione ecc.
Apprezzerei molto l'aiuto di chiunque abbia esperienza con questa roba. Grazie in anticipo
Ciao Parth, grazie per la risposta. Combinando i due approcci e come hai detto tu, cambiando leggermente i valori, sono contento del risultato finale. Credo che ci sarei arrivato alla fine, ma la tua risposta lo ha accelerato :) – elgoog
Perché un'attività estende un TextView? Sicuramente questo è solo confuso .. –
è solo una brutta scelta di nome @JamesGoodwin ma funziona benissimo! – Mars