現在我所要做的就是檢測何時按下屏幕,然後顯示日誌消息以確認發生。到目前爲止,我的代碼已從CameraPreview示例代碼(它最終會拍攝圖片)中修改,因此大部分代碼位於擴展SurfaceView的類中。來自SDK的示例代碼的API是7.我如何在Android上檢測觸摸輸入
9
A
回答
19
請嘗試下面的代碼來檢測觸摸事件。
mView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//show dialog here
return false;
}
});
顯示對話框使用活動方法showDialog(int)。你必須實現onCreateDialog()。詳情請參閱文檔。
4
我沒有這樣說:
public class ActivityWhatever extends Activity implements OnTouchListener
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayout);
//the whole screen becomes sensitive to touch
mLinearLayoutMain = (LinearLayout) findViewById(R.id.layout_main);
mLinearLayoutMain.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event)
{
// TODO put code in here
return false;//false indicates the event is not consumed
}
}
在視圖的XML
,註明:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout_main">
<!-- other widgets go here-->
</LinearLayout>
13
這裏是如何檢測一個簡單的觸摸事件一個簡單的例子,讓COORDS並舉杯祝酒。這個例子中的事件是Action Down,Move和Action up。
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.Toast;
public class MainActivity extends Activity {
private boolean isTouch = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int X = (int) event.getX();
int Y = (int) event.getY();
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
Toast.makeText(this, "ACTION_DOWN AT COORDS "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
isTouch = true;
break;
case MotionEvent.ACTION_MOVE:
Toast.makeText(this, "MOVE "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
break;
case MotionEvent.ACTION_UP:
Toast.makeText(this, "ACTION_UP "+"X: "+X+" Y: "+Y, Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}
相關問題
- 1. android檢測觸摸
- 2. android檢測觸摸
- 3. 如何在UIWebView上檢測觸摸
- 4. 在UIView上檢測觸摸
- 5. 在CCSprite上檢測觸摸
- 6. 在NSOpenGLView上檢測觸摸
- 7. 在webview上檢測觸摸
- 8. 觸摸後如何檢測觸摸
- 9. Libgdx Actor未檢測到觸摸輸入
- 10. 我如何檢測SKSpriteNode已被觸摸
- 11. 我如何檢測觸摸UIStatusBar/iPhone
- 12. 如何檢測NSTextAttachment上的觸摸
- 13. 如何檢測MPMoviePlayerViewController上的觸摸
- 14. Android - 檢測電容式觸摸屏上的觸摸壓力?
- 15. 我如何檢測在Android中已被觸摸的所有ImageView?
- 16. Android觸摸輸入問題
- 17. Android觸摸輸入NullReferenceException
- 18. Android觸摸輸入:座標?
- 19. 如何在觸摸UIButton時通過UIView檢測觸摸?
- 20. 在黑莓手機上檢測觸摸
- 21. 在UIImageView上檢測到觸摸背景
- 22. 在UIScrollView上檢測觸摸位置?
- 23. 在GUI紋理上檢測觸摸
- 24. 在RelativeLayout上檢測多點觸摸
- 25. 在MKPolyline上檢測觸摸手勢
- 26. 在UiScrollView上檢測觸摸位置
- 27. 觸摸不檢測?
- 28. 檢測CAShapeLayer觸摸
- 29. 檢測觸摸UIButton
- 30. UINavigationItem:檢測觸摸