2012-06-14 10 views
9

Mam EditText, który zazwyczaj pokazuje się równolegle do osi X ekranu. Chcę pokazać to ukośnie (około 45 stopni do osi poziomej). Czy to możliwe w Androidzie. Proszę, poprowadź mnie w tym kierunku, abym mógł spróbować.Pokazywanie editeksta ukośnie w Androidzie

Po uzyskaniu dwóch linków w odpowiedzi przez pawelzeibę, kontynuuję trochę, aby rozwiązać ten problem, ale utknąłem ponownie, więc postawiłem na to inne pytanie. tutaj jest link.

Jak powiedział Gunnar Karisson, istnieje setRotation() metoda Zobacz klasy wprowadzonego w Android 3.0, ale nie można go używać jako moja aplikacja powinna działać fro Android 2.1 wersję.

Proszę pomóż mi rozwiązać ten problem.

Odpowiedz

1

Po długim R & D, udało mi się rozwiązać ten problem, tworząc własny edytor tekstu, który działa idealnie zgodnie z moimi wymaganiami.

public class CustomEditText extends EditText { 

private Animation rotateAnim; 
public CustomEditText(Context context) { 
     super(context); 
} 

public CustomEditText(Context context, AttributeSet attrs){ 
    super(context, attrs); 
} 

private void createAnim(Canvas canvas) { 
     rotateAnim = new RotateAnimation(0, -45, 250, 50); 
     rotateAnim.setRepeatCount(Animation.INFINITE); 
     startAnimation(rotateAnim); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     // creates the animation the first time 
     if (rotateAnim == null) { 
       createAnim(canvas); 
     } 

} 
} 
3

EditText jest pośrednim podklasa View który ma pole obrotową można ustawić z setRotation(float):

myEditText.setRotation (45.0f).

+0

Gunnar, nie mogę korzystać z tej metody, ponieważ moja aplikacja powinna być uruchamiana z wersji 2.1 systemu Android. Potrzebuję więc rozwiązania, które mogłoby działać w wersji Android 2.1. Zobacz moje edytowane pytanie. –

0

Jeśli metoda setRotation() nie jest dostępny na poziomie API, na którym pracujemy, to najlepiej byłoby, aby utworzyć własne podklasy View i wdraża metodę setRotation().

+0

To o to pytam, już zaimplementowałem, ale w tym przypadku mam pewne problemy. Zobacz link podany w pytaniu. –

Powiązane problemy