- 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));
- }
- }