2013-06-21 20 views
12

Jestem nowy na Androida i uczę się pracować z TextSwitcher. Chcę wiedzieć, w jaki sposób tekst może być animowany za pomocą TextSwitcher.Animowanie tekstu za pomocą TextSwitcher W Androidzie

Mam układ z TextSwitcher i przycisk. Po kliknięciu przycisku, TextSwitcher powinien zmienić tekst.

czytałem o tym tutaj ....

Create Android TextSwitcher with dynamically generated Textview

Ale nie mogłem dostać pracy.

Jak animować tekst, tak, że po kliknięciu przycisku Przycisk tekst Przełącznik tekstu.

+0

gdzie jest problem – Sam

Odpowiedz

14

Za pomocą TextSwitcher można animować tekst na ekranie. Zobacz blog o szczegółyUsing TextSwitcher In Androidi cała zawartość pochodzą z blogaUsing TextSwitcher In Android

Musimy ustawić i obecnie animacji.

  1. W animacji: tekst pojawia się na ekranie.
  2. Out Animacja: z którym tekst wychodzi z ekranu.

pełny kod z odpowiednimi komentarzami

public class MainActivity extends Activity { 
    private TextSwitcher mSwitcher; 
    Button btnNext; 

    // Array of String to Show In TextSwitcher 
    String textToShow[]={"Main HeadLine","Your Message","New In Technology","New Articles","Business News","What IS New"}; 
    int messageCount=textToShow.length; 
    // to keep current Index of text 
    int currentIndex=-1; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.example1_layout); 

     // get The references 
     btnNext=(Button)findViewById(R.id.buttonNext); 
     mSwitcher = (TextSwitcher) findViewById(R.id.textSwitcher); 

     // Set the ViewFactory of the TextSwitcher that will create TextView object when asked 
     mSwitcher.setFactory(new ViewFactory() { 

      public View makeView() { 
       // TODO Auto-generated method stub 
       // create new textView and set the properties like colour, size, gravity etc 
       TextView myText = new TextView(MainActivity.this); 
       myText.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); 
       myText.setTextSize(36); 
       myText.setTextColor(Color.BLUE); 
       return myText; 
      } 
     }); 

     // Declare the in and out animations and initialize them 
     Animation in = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left); 
     Animation out = AnimationUtils.loadAnimation(this,android.R.anim.slide_out_right); 

     // set the animation type of textSwitcher 
     mSwitcher.setInAnimation(in); 
     mSwitcher.setOutAnimation(out); 

     // ClickListener for NEXT button 
     // When clicked on Button TextSwitcher will switch between texts 
     // The current Text will go OUT and next text will come in with specified animation 
     btnNext.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       currentIndex++; 
       // If index reaches maximum reset it 
       if(currentIndex==messageCount) 
        currentIndex=0; 
       mSwitcher.setText(textToShow[currentIndex]); 
      } 
     }); 

    } 
} 
Powiązane problemy