java - 交换可绘制图像的文本
问题描述
该代码包含交替的“播放”和“暂停”按钮。它工作正常,但是否可以使用可绘制图像自定义它们?
我试过使用
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("■");
}
有没有办法插入两个图像来代替“►”和“■”?
解决方案
最好的方法是将标签设置为按钮作为标识符并决定其值而不是绘制可绘制的。喜欢
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
}
推荐阅读
- pytorch - Pytorch:寻找一个功能,让我手动设置特定时期间隔的学习率
- java - 如何在运行 Aeron 示例时设置 Aeron 订阅者和发布者数量的限制
- python - 在 Python 中迭代字典时出错
- javascript - Html / javascript - 下拉选择不适用于提交按钮
- java - 将数据从 Firebase 检索到 Recycler View
- sql - 使用 LIKE %x% 的 Access SQL 查询中出现意外结果
- arrays - 我将如何制作 3D 棋盘阵列
- r - 总结具有不同 nrow 长度组的函数的组
- python - 运行烧瓶项目的问题
- php - 为什么 rtrim 删除尾随零?