作者hadoop (elephant)
看板AndroidDev
标题[问题] 动态更新跑马灯文字内容
时间Fri Oct 16 15:10:46 2015
我目前是用 TextView 的 marquee 属性实作跑马灯
我希望能够在跑马灯文字後面接一串时间
如: 2015/10/16 03:01:20
'我是很长很长的跑马灯文字' + '2015/10/16 03:01:20'
因此需要每秒更新跑马灯内容,但问题是每 call setText method
跑马灯就会从 '我是...' 重跑一次,导致看不到接在文字最後面的时间。
我有尝试 extends TextView 去设定跑马灯卷动的位置,虽然可以执行
但是 setText 的时候还是会先拉回跑马灯的起始位置,之後再切成我原本设定的
位置,导致画面每秒就会闪烁一次。
想请问是否有其他解决的方式呢?
第一次发文,感谢各位回覆,如果有违反版规请告知 再次感谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.250.44
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1444979448.A.C4B.html
1F:推 kids1243: 用两个textview放在同一位置 新的好了就把visibility设 10/17 18:13
2F:→ kids1243: visible 旧的设成gone 中间可以delay一下 确定新的已经 10/17 18:14
3F:→ kids1243: 到你想要卷动的位置了 再变成visible 试试看? 10/17 18:14
4F:→ hadoop: 感谢 这方法感觉不错 应该可以解决我目前遇到的问题 10/17 23:04
5F:→ hadoop: 不过好像只有在RelativeLayout下才有办法让view重叠 10/17 23:05
6F:推 kids1243: view被设定为gone之後就不会在画面上占空间了 所以算是 10/18 11:57
7F:→ kids1243: 在同一个位置 10/18 11:57
8F:→ kids1243: 要用其他layout也可以 10/18 11:58
9F:→ hadoop: 但我目前遇到另外一个问题 我好像setText其中一个TextView 10/18 16:50
10F:→ hadoop: 另外一个也会重卷 但如果我没有用我extends的TextView 10/18 16:50
11F:→ hadoop: 就不会有影响 10/18 16:50
12F:→ hadoop: 请问这有可能是什麽问题呢? 10/18 16:51
13F:→ hadoop: 但用预设TextView又比较难控制text移动的位置 10/18 16:52
14F:→ hadoop: 我发现解决方式了,只要继承 TextView後修改onDraw 10/18 18:05
15F:→ hadoop: method,之後再call canvas.drawText就解决了! 10/18 18:08
16F:→ hadoop: 看来是对 android canvas 不够熟悉 ˊˋ 10/18 18:09
※ 编辑: hadoop (140.113.250.43), 10/18/2015 18:19:57