2013-06-24 56 views

回答

12

查看博客查看詳細Using TextSwitcher In Android,所有的這些內容是從博客採取Using TextSwitcher In Android

我們需要設置In和OUT動畫。 1:在動畫中:文字來自屏幕。 2:輸出動畫:文字從屏幕出去。

完整的代碼與適當的意見

  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 clolr, size 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]); 
         } 
        }); 

      } 
    } 
相關問題