現在、サウンドボタンがあり、選択してクリックするたびに背景を変更したいと思います(Androidメガネで開発しているため、ボタンを選択しても押されないため、2つの異なる状態になります)。
これまでに選択したときに、xmlファイルを使用してボタンの背景を変更しました。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/no_music"
android:state_selected="true" />
<item android:drawable="@drawable/no_music"
android:state_focused="true" />
<item android:drawable="@drawable/music" />
</selector>
そしてonClick
、ボタンの方法で一緒に、状態に応じてボタンの背景を設定します。
public void musicPlay(View view) {
Button music = (Button) findViewById(R.id.music);
if(isPlaying) {
music.setBackgroundResource(R.drawable.no_music);
MusicManager.release()
}else{
music.setBackgroundResource(R.drawable.music);
MusicManager.start(this);
}
isPlaying = !isPlaying;
}
ボタンをクリックすると、そのたびに背景が変わります。しかし、それを選択すると、背景が変更されるのは1回だけです。選択した状態を押された状態と同じにするために使用できる方法はありますか?
どうもありがとうございました。
あなたのコードでこれをしてください:
public void musicPlay(View view) {
Button music = (Button) findViewById(R.id.music);
if(isPlaying) {
music.setPressed(true);
MusicManager.release()
}else{
music.setPressed(false);
MusicManager.start(this);
}
isPlaying = !isPlaying;
}
あなたのxmlにも:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/no_music" android:state_selected="true"/>
<item android:drawable="@drawable/no_music" android:state_pressed="true"/>
<item android:drawable="@drawable/music"/>
</selector>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加