我是 Android 的新手,所以如果之前问过,请原谅!
我正在玩一些相机代码(在线找到),我想在屏幕上显示/隐藏一些按钮。当用户触摸屏幕时,我希望它捕获图像。
我的设置:
1. 主要 Activity :
public class CameraDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_inuse);
preview = new Preview(this);
((FrameLayout) findViewById(R.id.preview)).addView(preview);
... ...
// rest of the code that captures the image when a button is pressed.
// the button is defined in main.xml with button id ButtonClicked
}
2。 预览类如下所示:
class Preview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
public Camera camera;
Preview(Context context) {
super(context);
// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
我的问题是,
我如何添加触摸功能,以便用户可以触摸预览(比如说一秒钟,或者只是快速触摸)并发生一些事情? (说图片保存)
表面上会出现一个按钮,例如“下一步”按钮?
最佳答案
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
在你的预览类中,MotionEvent 对象会告诉你它是什么类型的触摸(以及位置等),让你做任何你想做的事。
关于android - 如何将触摸监听器添加到表面 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066775/