布局:重量按钮改变Android

时间:2013-05-31 14:47:13

标签: android android-layout android-mediaplayer

我想制作一个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"   命令不适用于它。

有什么问题?我该如何解决?

2 个答案:

答案 0 :(得分:2)

您似乎更改了背景图像而不是ImageView图像。 你可以尝试:

  1. setImageResource而不是setBackgroundResource(http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int)

  2. 将android:scaleType =“centerInside”添加到ImageView xml

  3. 更改为android:layout_width =“0dp”

答案 1 :(得分:1)

if(!mediaPlayer.isPlaying()){
    mediaPlayer.start();
    buttonPlayPause.setImageResource(R.drawable.button_pause);
}else {
    mediaPlayer.pause();
    buttonPlayPause.setImageResource(R.drawable.button_play);
}