检查按钮背景和更改

时间:2013-05-20 10:36:33

标签: android button

如何通过检查当前图像文件来更改按钮的背景图像。假设我想通过检查当前打开的图像来尝试打开/关闭声音图像。

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”进行比较。

1 个答案:

答案 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);          
        }