我在textView中具有外行。和一个播放音频文件的按钮。但是我想知道,当我们单击播放按钮时,我们如何突出显示文本视图单词。
MediaPlayer Play;
textview textview4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third_kalma);
Button button = (Button) findViewById(R.id.btn4);
if (play.isPlaying()) {
textView4.setTextColor(ContextCompat.getColor(this, R.color.black));
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent p = new Intent(Third.this,ThirdT.class);
startActivity(p);
}
});
play = MediaPlayer.create(this , R.raw.audio3);
Button bone = (Button) findViewById(R.id.btnSec);
bone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
play.start();
}});}
尝试此代码,它将有用:尝试将此代码保存在计时器或调度程序中:
MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.sound);
if (mediaPlayer.isPlaying()){
mTextView.setTextColor(Color.parseColor("#Your own color code(#ff0000)"));
}
,也可以尝试以下方法:
final Button play= (Button) findViewById(R.id.button_id);
play.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mTextView.setTextColor(Color.parseColor("your color code"));
}
});
或者您可以尝试以下方式尝试调度程序:
ScheduledThreadPoolExecutor scheduler =
(ScheduledThreadPoolExecutor) Executors.newScheduledThreadPool(5);
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
if (mediaPlayer.isPlaying()){
mTextView.setTextColor(Color.parseColor("#Your own color code(#ff0000)"));
}
}
}, 0, 2, TimeUnit.SECONDS);