在某些APP经常看到一个条目循环滚动消息,这是怎么实现的呢?后来听人说是TextSwitcher控件,借鉴他人,自己也来写一写,不为别的就是为了自己以后用着的时候方便些。废话不多说,貌似全是废话,开始。
1、布局
<TextSwitcher android:singleLine="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ts" ></> 2、代码 implements ViewSwitcher.ViewFactory ts.setFactory(this);//一定不要忘了 实现方法 makeView(){ //文字大小 颜色 TextView textview=new TextView(); textView.setTextSize(20); textviewv.setTextColor(Color.BLUE); } 1、模拟滚动的数据 String[] text={ "条目一","条目二","条目三" }; 2、设置滚动的时间间隔,将text设置到TextSwitcher上
Handler handler = new Handler(); Runnable runnable = new Runnable() { public void run() { id++; if (id == text.length) { id = 0;//重置 } ts.setText(text[id]); handler.postDelayed(this, 3000); } }; 3、设置滚动的动画,上下滚动 ts.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.fade_in)); ts.setOutAnimation(); 1、xml文件fade_in 就是补间动画
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="100%p" android:toXDelta="0%p" android:duration="1200" /> 4、设置点击事件 ts.setOnClickListener(new View.OnClickListener(){ public void onClick(Veiw v){ switch(id){ case 0: break; } } });
时间: 2024-11-04 07:29:52