课外的问题

课外的问题

老师,您好!

老师,我有两个问题想请教您。

1、TextView的文字如何在下面加波浪线,以及自己可以设置波浪线颜色?

2、我们手机酷狗音乐在播放歌曲时候,您会发现,界面下方的控制键(上一曲,暂停,下一曲)颜色会每隔一定时间发生变化,这个效果又该如何实现呢?  

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

1、你可以利用《自定义View》课程中学习的自己创建一个TextView,在重写的onDraw()方法中实现波浪线的绘制。

2、你可以自定义一个timer,调用schedule(task, time);方法在指定时间执行一次TextView字体颜色的改变设置


  • 老师,您好! 根据您指导的方法,我已经实现变色功能了。但是,我目前依旧存在两个问题。 1、我学习了一下任务定时器,以及它的Timer.schedule(task,delay,period)方法。据我了解,这个方法每执行一次任务,就会开启一个子线程。那么,如果我每2秒执行一次定时任务,而且长时间执行。这样一来,会不会开启无数的线程,而导致资源严重浪费呢?或者因资源浪费严重而死机呢? 2、自定义view我知道,我也写过自定义TextView实现画下划线。但是,只能画一条下划线,不是我想要的可以有几行文字,就能在文字下面画几条。 所以,老师,可否提供一下自定义TextView画波浪线的代码呢?以及可以自定义波浪线颜色。
    2018-12-23 17:10:33
  • irista23 回复 提问者 qq_明天的一轮朝阳_0 #2
    你可以使用Timer的cancel()停止执行,同一个Timer执行一次cancel(),所有Timer线程都被终止。自定义TextView,你在ondraw()回调中画线时可以计算当前TextView实际行数,根据函数确定画几条,另外对于视频以内的我们提供全面的辅导和帮助,视频以外的就没有办法能根据你的需求提供源码了。
    2018-12-24 09:57:43
  • qq_明天的一轮朝阳_0 提问者 回复 irista23 #3
    老师,您好! 您说的Timer执行cancel()方法,我懂。我的疑问就是,同一个Timer长时间调用Timer.schedule(task,delay,period)方法,会不会导致资源消耗非常严重?还是说,每调用一次,开启的线程执行完任务,就会释放资源呢? 比如说,酷狗音乐的文字变色功能,如果我听酷狗音乐一天,这样一来会不会开启无数的线程?以及资源被这无数的线程严重浪费? 在我们程序运行过程中,当我们调用Timer的cancel()方法之前,执行完任务的线程,会不会释放资源?
    2018-12-24 10:51:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android多媒体开发与应用2018版
  • 参与学习           人
  • 解答问题       241    个

本专题是动画、游戏、音视频等实际应用开发必备技能。课程深入到Android事件总线,利用主流框架实现消息推送、自定义事件统计分析等功能。最后带你开发一款利用传感器实现计步、距离、热量等功能的App。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师