我正在使用相机api并想要实现一个按钮,启动和停止视频录制。该按钮有四个不同的图像:video_start_default,video_start_pressed,video_stop_default和video_stop_pressed。 在按下和开始/停止视频后,它应该更改其布局。
我创建了这个xml文件。
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/video_start_default" />
<item
android:state_selected="false"
android:state_pressed="true"
android:drawable="@drawable/video_start_pressed" />
<item
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/video_stop_default" />
<item
android:state_selected="true"
android:state_pressed="true"
android:drawable="@drawable/video_stop_pressed" />
<item android:drawable="@drawable/video_default" />
</selector>
为了在开始和停止工作之间进行更改,我在onclicklistener中设置了select属性
if(videoButton.isSelected())
videoButton.setSelected(false);
else{
videoButton.setSelected(true);
}
基本上这是有效的。
在按下video_start_default时,正确显示了video_start_pressed,但问题是在释放video_start_pressed后,video_stop_pressed显示为毫秒而不是video_stop_default。奇怪的是,点击video_stop_pressed后没有出现问题。这里是video_start_default直接可见。
我希望描述不要混淆