我试图拥有与WhatsApp相同的功能。 如果EditText中没有文本,则会显示录制按钮,我可以单击并按住(我估计大约200ms后)并开始录制一些音频。 当我停止按住音频时发送。 如果有文本,则会显示发送按钮,并且音频记录功能显然不适用。
我尝试过的事情:
audio_message_button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event) && buttonState == StateButton.FINAL_STATE) {
//clique simples
//sendMessage(v);
Toast.makeText(getActivity(), "Clique simples", Toast.LENGTH_SHORT).show();
return true;
} else if (buttonState == StateButton.INITIAL_STATE) {
//long press
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//conversationPresenter.startRecordingAudio();
Toast.makeText(getActivity(), "Segurando", Toast.LENGTH_SHORT).show();
} else {
//conversationPresenter.stopRecording();
Toast.makeText(getActivity(), "Soltei", Toast.LENGTH_SHORT).show();
}
}
return false;
}
});
}
gestureDetector = new GestureDetector(getActivity(), new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
return true;
}
});
状态是我从自定义视图中获取的变量(在某些TextWatcher之后会发生变化)
但它不起作用," Clique Simples"从未显示过Toast。 任何帮助表示赞赏!