2016-09-26 19 views
6

Potrzebuję panelu, który automatycznie przewija się w poziomie podczas działania. Podobnie jak przewijany pasek u dołu widzimy w telewizji (w wiadomościach itp.). Masz pomysł, jak to osiągnąć? DziękiAutomatycznie przewijany panel

Edit: Znalazłem tam są przewodniki & biblioteki na ten temat, wydaje się, że słowo, które było potrzebne „namiot”

+0

potrzebujesz czegoś takiego ?: https://youtu.be/fwJqaGHoflE?t=5m42s – lidox

Odpowiedz

4

Co trzeba to marquee który jest dostępny na Github

+0

To wygląda na to, czego potrzebuję. Czy mogę to zmienić, aby przewijać w poziomie? – user6650650

+0

Myślę, że możesz, spróbuj zmienić orientację 'LinearLayout' na' horizontal' –

1

Można użyć Vertical Marquee TextView for Android biblioteka z pewnymi zmianami.

Najpierw pobierz kod źródłowy biblioteki i dodaj go do swojego projektu.

Następnie przejdź do klasy VerticalMarqueeTextView i przedłużyć HorizontalScrollView zamiast ScrollView.

Wreszcie, należy zmienić metodę MarqueeRunnablerun jako taki -

@Override 
    public void run() { 
     final int width = textView.getWidth(); 
     final int parentWidth = this.parent.getWidth(); 

     if (width > 0 && parentWidth > 0 && width > parentWidth) { 
      if (this.textView.getScrollX() >= width) { 
       this.textView.scrollTo(-parentWidth,0); 
      } else { 
       this.textView.scrollBy(VerticalMarqueeTextView.this.unitDisplacement, 0); 
      } 

      this.textView.invalidate(); 
     } 
    } 

to wszystko.

Zaleca się również zmianę wszystkich "pionowych" wartości refrencji w polach biblioteki i metod na "Poziomy", aby wskazać ich bieżące użycie.

Uwaga: nie zostało to dokładnie przetestowane, ale wygląda na to, że działa.