如何通过检查当前图像文件来更改按钮的背景图像。假设我想通过检查当前打开的图像来尝试打开/关闭声音图像。
main.xml中
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:onClick="onClickSound"
android:background="@drawable/sound11"
android:onClick="onClickSound" />
main.java
public void onClickSound(View view) {
final Button btn1 = (Button) findViewById(R.id.button3);
Drawable i = btn1.getBackground();
/*How to check which image resource is set*/
btn1.setBackgroundResource(R.drawable.sound00);
}
任何plz都可以帮助检查它。我试过,但我无法将R.drawable.sound00与“i”进行比较。
答案 0 :(得分:1)
您可以尝试使用标记来显示图像的最后状态,并根据该状态更新内容。在图像文件本身之外的其他方面确定状态是更好的方法。基本上,这可以尝试:
boolean isPlayingSound = false;
public void onClickSound(View view) {
//update this variable accordingly
isPlayingSound = !isPlayingSound
view.setBackgroundResource(isPlayingSound ? R.drawable.sound11 : R.drawable.sound00);
}