public class MainActivity extends Activity implements ViewSwitcher.ViewFactory, View.OnClickListener{ int count = 0; private TextSwitcher textSwitcher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("文字轉換器"); Button button=(Button) findViewById(R.id.button1); textSwitcher=(TextSwitcher) findViewById(R.id.textSwitcher1); //指定轉換器的viewSwitcher.viewFactory,提供轉換所用的view textSwitcher.setFactory(this); //若是不用switcher.setFactory()方法設置轉換時的View,也能夠調用兩次switcher.addView(view,index,params); /*TextView textView1=new TextView(this); TextView textView2=new TextView(this); textSwitcher.addView(textView1, 0,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); textSwitcher.addView(textView2, 1,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));*/ //爲view轉換時設置動畫(可選) Animation animation1=AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim1); Animation animation2=AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim2); textSwitcher.setInAnimation(animation1); textSwitcher.setOutAnimation(animation2); button.setOnClickListener(this); setCount(); } //重寫ViewSwitcher.ViewFactory的makeView方法,返回一個view做轉換時用 @Override public View makeView() { // TODO Auto-generated method stub TextView textView=new TextView(MainActivity.this); textView.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL); return textView; } @Override public void onClick(View v) { // TODO Auto-generated method stub count++; setCount(); } private void setCount() { // TODO Auto-generated method stub textSwitcher.setText(String.valueOf(count)); } }