首页 > 系统 > Android > 正文

Android 上下滚动TextSwitcher实例详解

2019-12-12 02:44:05
字体:
来源:转载
供稿:网友

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

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"    android:fillAfter="true"    android:shareInterpolator="false"  android:zAdjustment="top">   <translate      android:duration="3000"      android:fromYDelta="100%p"      android:toYDelta="0" /> </set> 
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"   android:fillAfter="true"    android:shareInterpolator="false"  android:zAdjustment="top">       <translate      android:duration="3000"      android:fromYDelta="0"      android:toYDelta="-100%p" />  </set> 
<style name="pop_anim">     <item name="android:windowEnterAnimation">@anim/anim_in</item>   <item name="android:windowExitAnimation">@anim/anim_out</item>   </style> 

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表