如何突出文本背景颜色的持续时间?[android]

时间:2015-06-04 06:32:07

标签: android textview highlighting duration

我正在为儿童制作叙事应用程序,每个单词都会突出显示并发布。有些词需要更长的时间来发音,所以我需要让它们突出显示一段时间。

    play = (ImageButton)findViewById(R.id.play);
    TextView grandmom = (TextView)findViewbyId(R.id.grandmom) ;

    play.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(MotionEvent.ACTION_DOWN == event.getAction()){
                grandmom.setBackgroundColor(Color.YELLOW);
                return  true;
            }
        }
    });

上面的代码只是突出显示单词,永远保持黄色。如何点亮几毫秒然后恢复正常?

3 个答案:

答案 0 :(得分:4)

您可以使用AsyncTask播放声音。 在onPreExecute()中将背景更改为黄色,并在onPostExecute()

中将其设置回正常状态

这样你就不必担心播放声音所需的时间。

答案 1 :(得分:2)

OnPreparedListener上的OnCompletionListener突出显示上使用听众,并在LVM_SETCOLUMNWIDTH上恢复正常

答案 2 :(得分:1)

使用TimerTask,安排它以便在几个毫秒后执行它并在该任务内部经过一段时间后,再将backGrounColor更改为原始

您还可以创建一个函数,告诉您根据字符串的长度保持突出显示的时间长度,并使用该函数确定何时调度关闭突出显示的任务