Android 实现上下滚动TextSwitcher

1.在activity中需要代码声明

textSwitcher = (TextSwitcher)findViewById(R.id.text_switcher);
		textSwitcher.setFactory(new ViewFactory() {
			
			@Override
			public View makeView() {
				TextView tv = new 	TextView(MainActivity.this);
				tv.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16.0F);
				tv.setTextColor(Color.RED);
				return tv;
			}
		});
		
		textSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.anim_in));
		textSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.anim_out));


2.两个anim动画xml



   



    
	   


 

3.用线程或者定时器实现循环翻动。

Thread t = new Thread(new Runnable() {
		
		@Override
		public void run() {
			while (!flag) {
				Message msg = new Message();
				msg.what = 1;
				msg.obj = getItem[i];
				handler.sendMessage(msg);
				if (i== 2) {
					i = 0;
				}
				try {
					t.sleep(3000);
					i++;
					
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}

4.hanlder更新ui
private Handler handler = new Handler(){
		public void handleMessage(android.os.Message msg) {
			
			textSwitcher.setText((String)msg.obj);
			
			super.handleMessage(msg);
		};
	};






你可能感兴趣的:(Android)