当前位置: 代码迷 >> Android >> textview垂直方向自动的滚动,该怎么解决
  详细解决方案

textview垂直方向自动的滚动,该怎么解决

热度:121   发布时间:2016-05-01 22:05:52.0
textview垂直方向自动的滚动
请教于各位大侠我该如何实现一个textview在垂直方向上自动的滚动呢,就是宽度显示一个字,其它的字全部排在垂直方向,然后自动的向上滚动,类似于横向走马灯的效果,请知道的指点迷津啊,万分感谢。

------解决方案--------------------
首先要实现宽度显示一个字,其它的字全部排在垂直方向,你可以使用TextView,layout_width属性限制为一个像素单位,然后TextView包含在一个ScrollView,ScrollView自动向上滚动你可以参考如下代码:
Java code
private ScrollView mScrollView;private LinearLayout mLayout;private final Handler mHandler = new Handler();mScrollView = (ScrollView)findViewById(R.id.scroll);mLayout = (LinearLayout)findViewById(R.id.linearlayout);//linearlayout外层为 scrollmHandler.post(mScrollToBottom);private Runnable mScrollToBottom = new Runnable() {         @Override     public void run() {      // TODO Auto-generated method stub      int off = mLayout.getMeasuredHeight() - mScrollView.getHeight();      if (off > 0) {       mScrollView.scrollTo(0, off);       }      }     };
------解决方案--------------------
能不能将所有的字读出来放在数组里面,TextView就设计成一个字的大小,每次就显示一个字,同时切换下一个字的时候,给当前显示的字做一个退出动画,需要显示的字做一个进入动画,如果显示到最后一个字的时候,下标归0,重新从数组的第一个字读起?试试这种方式是否可行吧。
------解决方案--------------------
<TextView android:layout_height="wrap_content"
android:layout_width="200dip"
android:text="I have a dream I have a dream I have a dream I have a dream" 
android:singleLine="true" //表示单行显示
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever" //表示循环滚动
android:scrollHorizontally="true" //表示水平显示
android:focusableInTouchMode="true"
android:focusable="true">

给你点提示 你可以修改一下看下效果
------解决方案--------------------
自定义TextView 重写onDraw
------解决方案--------------------
自己画一个。。自定义一个view。。ondraw方法里。。y轴增加绘制然后到达一定位置在归0.在绘。。

差不多就这样。。
  相关解决方案