我想制作一个MediaPlayer并使用相同的按钮控制播放和暂停。
我这样做了:
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
if(mediaPlayer.isPlaying()) {
mediaPlayer.stop();
play.setBackgroundResource(R.drawable.play);
} else {
mediaPlayer.prepareAsync();
play.setBackgroundResource(R.drawable.pause);
}
} catch(Exception e) {
e.printStackTrace();
}
}
});
这是它的布局代码:
<ImageView
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=".33"
android:layout_marginRight="6dp"
android:src="@drawable/play" />
除了Pause按钮出现并且保持其完整尺寸
之外,一切正常机器人:layout_weight =” 33" 命令不适用于它。
有什么问题?我该如何解决?
答案 0 :(得分:2)
您似乎更改了背景图像而不是ImageView图像。 你可以尝试:
setImageResource而不是setBackgroundResource(http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int))
将android:scaleType =“centerInside”添加到ImageView xml
答案 1 :(得分:1)
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
buttonPlayPause.setImageResource(R.drawable.button_pause);
}else {
mediaPlayer.pause();
buttonPlayPause.setImageResource(R.drawable.button_play);
}