该代码包含一个交替的“播放”和“暂停”按钮。效果很好,但是可以使用Drawable图片自定义它们吗?
我尝试使用
btControl.getCompoundDrawables(R.id.imgplay)
但我没有成功。
if (btControl.getText().equals("►")) {
this.startService(intent);
cmPasstime.setBase(SystemClock.elapsedRealtime());
cmPasstime.start();
btControl.setText("■");
} else if (btControl.getText().equals("■")) {
this.stopService(intent);
cmPasstime.stop();
btControl.setText("►");
} else if (btControl.getText().equals("►")) {
this.startService(intent);
cmPasstime.start();
btControl.setText("■");
}
有什么方法可以代替“►”和“■”插入两个图像吗?
答案 0 :(得分:0)
最好的方法是将tag设置为button作为标识符,并决定其值而不是可绘制。像
if (((String)btControl.getTag()).equals("playing")) {
btControl.setBackgroundResource(R.drawable.paused);
btControl.setTag("paused");
// Your Code
} else if (((String)btControl.getTag()).equals("paused")) {
btControl.setBackgroundResource(R.drawable.playing);
btControl.setTag("playing");
// Your Code
}