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));
}
}
TextSwitcher的用法
最新推荐文章于 2024-02-18 18:09:56 发布