Java 如何在触摸按钮时启用声音效果?
如果我实现了Java 如何在触摸按钮时启用声音效果?,java,android,ontouchlistener,soundeffect,onclicklistener,Java,Android,Ontouchlistener,Soundeffect,Onclicklistener,如果我实现了OnClickListener,则单击按钮时,音效会起作用。在实现OnTouchListener时,触摸它时音效不起作用。那么,如何在实现OnTouchListener时启用声音效果呢 编辑: 以下是我使用单击方法时的代码: public class CalculatorActivity extends Activity implements OnClickListener { //... private Button btn1; private EditTe
OnClickListener
,则单击按钮时,音效会起作用。在实现OnTouchListener
时,触摸它时音效不起作用。那么,如何在实现OnTouchListener
时启用声音效果呢
编辑:
以下是我使用单击方法时的代码:
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");
}
}
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;
}
}
如果我使用触摸法,下面是代码:
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");
}
}
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;
}
}
试试看
试试看
显示您的代码。还有,为什么你想这样做是为了“触摸”而不是“点击”呢?@MisterSquonk触摸按钮会有更快的响应,而点击按钮直到你从屏幕上抬起手指才会有响应。此外,我应该向您显示什么代码?我只是想问一下如何在触摸按钮时实现声音效果。只需使用onClick,就不会有按钮对触摸和非onClick做出反应。不要破坏用户体验@DanielLockard实际上,
onTouch
和onClick
之间没有区别,除了响应时间之外,它们都是相似的。@Eng-为OnTouchListener显示不工作的代码。在看到您的尝试之前,我们无法告诉您如何使其工作。请显示您的代码。还有,为什么你想这样做是为了“触摸”而不是“点击”呢?@MisterSquonk触摸按钮会有更快的响应,而点击按钮直到你从屏幕上抬起手指才会有响应。此外,我应该向您显示什么代码?我只是想问一下如何在触摸按钮时实现声音效果。只需使用onClick,就不会有按钮对触摸和非onClick做出反应。不要破坏用户体验@DanielLockard实际上,onTouch
和onClick
之间没有区别,除了响应时间之外,它们都是相似的。@Eng-为OnTouchListener显示不工作的代码。我们不能告诉你如何让它工作,直到我们看到你已经尝试。很高兴能帮助。我们最终到达了那里很乐意帮忙。我们最终到达了那里