android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题
大家好,我最近遇到个问题:
大家都知道,播放器中的播放/暂停键是这样的逻辑:当用户点击了这个键,如果当前显示的是“播放”图案,会变为“暂停”图案;反之,如果当前是“暂停”图案,会变为“播放”图案 , 如此反复。。。
现在我正在实现这个效果,我是这样做的:
在以上的基本效果的基础上,我还添加了点击过程中的效果,就是当点下还木有松开时,会有一个点击效果(比如给当前图片加个光晕效果什么的),这种效果我是在xml中用selector标签实现的,上代码:
按play时:(xml_player_play.xml)
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/player_play_default" /> <item android:state_pressed="true" android:drawable="@drawable/player_play_pressed" /> <item android:state_window_focused="false" android:drawable="@drawable/player_play_default" /></selector>
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="false" android:drawable="@drawable/player_pause_default" /> <item android:state_pressed="true" android:drawable="@drawable/player_pause_pressed" /> <item android:state_window_focused="false" android:drawable="@drawable/player_pause_default" /></selector>
<ImageButton android:background="#0000" android:src="@drawable/xml_player_play" android:scaleType="centerCrop" />
if( Global.bt_play_play == true ){ play.setBackgroundResource(R.drawable.xml_player_pause); Global.bt_play_play = false; }else if( Global.bt_play_play == false ){ play.setBackgroundResource(R.drawable.xml_player_play); Global.bt_play_play = true; }
<item android:state_pressed="true" android:drawable="@drawable/button_add_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_add_pressed" />
<item android:drawable="@drawable/button_add" />
</selector>
[解决办法]
if( Global.bt_play_play == true )
{
play.setImageResource(R.drawable.xml_player_pause);
Global.bt_play_play = false;
}
else
{
play.setImageResource(R.drawable.xml_player_play);
Global.bt_play_play = true;
}