在运行时更改手势颜色
我想在运行时更改手势颜色。
我可以使用布局 XML 更改手势颜色,但不能使用代码。
我已经尝试过
private class GesturesProcessor implements GestureOverlayView.OnGestureListener {
public GesturesProcessor() {
GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);
Log.i("on", "constructor");
overlay.setGestureColor(R.color.lightblue);
}
public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {
mDoneButton.setEnabled(false);
mGesture = null;
Log.i("on", "ongesture started");
}
public void onGesture(GestureOverlayView overlay, MotionEvent event) {
}
public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
mGesture = overlay.getGesture();
Log.i("on", "gesture ended");
/*if (mGesture.getLength() < LENGTH_THRESHOLD) {
overlay.clear(false);
}*/
mDoneButton.setEnabled(true);
}
public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {
Log.i("on", "gesture ended");
}
}
,但不起作用
I want to change gesture color at run time.
I am able to change gesture color using layout XML but not using code.
I have tried
private class GesturesProcessor implements GestureOverlayView.OnGestureListener {
public GesturesProcessor() {
GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);
Log.i("on", "constructor");
overlay.setGestureColor(R.color.lightblue);
}
public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {
mDoneButton.setEnabled(false);
mGesture = null;
Log.i("on", "ongesture started");
}
public void onGesture(GestureOverlayView overlay, MotionEvent event) {
}
public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
mGesture = overlay.getGesture();
Log.i("on", "gesture ended");
/*if (mGesture.getLength() < LENGTH_THRESHOLD) {
overlay.clear(false);
}*/
mDoneButton.setEnabled(true);
}
public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {
Log.i("on", "gesture ended");
}
}
but it's not working
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要更改手势颜色,请使用
gestureOverlayView.setGestureColor(Color.BLACK);
,其中gestureOverlayView是GestureOverLayView的对象。
如果您有颜色的十六进制字符串值,请从资源中使用此值
To change Gesture color use
gestureOverlayView.setGestureColor(Color.BLACK);
where gestureOverlayView is the object of GestureOverLayView.
From resource use this if you have hex string value for color
您需要做的只是重写 onGesturePerformed() 方法,然后尝试更改颜色,就像我在下面所做的那样。
All you need to do is just override onGesturePerformed() method and then try to change the color as I have done below.