Wie können Sie den Soundeffekt auf das Berühren einer Taste aktivieren?
-
28-10-2019 - |
Frage
Wenn ich das implementiere OnClickListener
, Der Soundeffekt funktioniert beim Klicken auf die Schaltfläche. Während der Implementierung der OnTouchListener
Der Soundeffekt funktioniert nicht beim Berühren. So können Sie den Soundeffekt auf die Implementierung der Implementierung ermöglichen OnTouchListener
?
BEARBEITEN:
Hier ist der Code, wenn ich Klickansatz verwende:
public class CalculatorActivity extends Activity implements OnClickListener
{
//...
private Button btn1;
private EditText edLCD;
//...
public void onCreate(Bundle savedInstanceState)
{
//...
btn1 = (Button) findViewById(R.id.d1);
btn1.setOnClickListener(this);
edLCD = (EditText) findViewById(R.id.edLCD);
}
//...
public void onClick(View v)
{
edLCD.setText(edLCD.getText().toString() + "1");
}
}
Und hier ist der Code, wenn ich einen berührenden Ansatz verwende:
public class CalculatorActivity extends Activity implements OnTouchListener
{
//...
private Button btn1;
private EditText edLCD;
//...
public void onCreate(Bundle savedInstanceState)
{
//...
btn1 = (Button) findViewById(R.id.d1);
btn1.setOnTouchListener(this);
edLCD = (EditText) findViewById(R.id.edLCD);
}
//...
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
edLCD.setText(edLCD.getText().toString() + "1");
}
return true;
}
}
Lösung
Versuchen...
public boolean onTouch(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
v.playSoundEffect(SoundEffectConstants.CLICK);
edLCD.setText(edLCD.getText().toString() + "1");
}
return true;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow