szukam replikować następujące w moim aplikacji:Pochylanie widok tekstowy w Androidzie
Jak widać, jego po prostu przycisk, który zwiększa/zmniejsza wartość widoku tekstu zawartego w jego obrębie. Ten przycisk będzie miał trzy stany wizualne -> wciśnięty, zmniejszy i zwiększy (jak widać na powyższym obrazku, użytkownik klika strzałki zwiększania i przycisk pojawia się wciśnięty po tej stronie)
Oto moje stany przycisku 3 obecnie:
Jak widać, problem mam, to jest w stanie poprawnie pochylać/obracać widok tekstowy więc wygląda poprawne wizualnie i pojawia pochyły wraz z przyciskiem, gdy jej jest zwiększenie lub zmniejszony.
Próbowałem dwa różne podejścia do tej pory:
stworzenie własnego tekstu klasy widoku, który zastępuje metodę
onDraw()
aby pochylić kanwie:@Override public void onDraw(Canvas canvas) { canvas.save(); canvas.skew(0.2f, 0f); super.onDraw(canvas); canvas.restore(); }
zintegrować
Rotate3dAnimation
klasa (źródło here) i wykorzystano wiele różnych odmian, aby uzyskać pożądany wynik, taki jak:Rotate3dAnimation skew = new Rotate3dAnimation( 30, 0, centerX, centerY, 0, false); txtAmount.startAnimation(skew);
Niestety, nie jestem całkiem uzyskanie dokładnego wyniku, który odzwierciedla pierwsze zdjęcie powyżej. Dezorientuje mnie ustawianie wartości za pomocą osi Z, pochylanie, obracanie itp.
Bardzo doceniam każdą pomoc od każdego, kto ma doświadczenie w tej dziedzinie. Dzięki z góry
Hi Parth onCreate(), dzięki za odpowiedź. Łącząc te dwa podejścia i tak jak powiedziałeś, nieznacznie zmieniając wartości, jestem zadowolony z wyniku końcowego. Chyba bym się tam udało, ale twoja odpowiedź przyspieszyła :) – elgoog
Dlaczego działanie rozszerza TextView? Z pewnością to tylko mylące .. –
To po prostu zły wybór nazwy @JamesGoodwin, ale działa świetnie! – Mars