Android 在运行时更改手势颜色
我想在运行时更改手势颜色。Android 在运行时更改手势颜色,android,android-gesture,Android,Android Gesture,我想在运行时更改手势颜色。 我可以使用布局XML更改手势颜色,但不使用代码。 我试过了 private class GesturesProcessor implements GestureOverlayView.OnGestureListener { public GesturesProcessor() { GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overla
我可以使用布局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");
}
}
私有类GesturesProcessor实现GestureOverlayView.OnTestureListener{
公共手势处理程序(){
GestureOverlayView overlay=(GestureOverlayView)findViewById(R.id.signatures\u overlay);
Log.i(“on”,“constructor”);
叠加。设置颜色(R颜色。浅蓝色);
}
已启动检测的公共无效(GestureOverlayView覆盖、MotionEvent事件){
mDoneButton.setEnabled(false);
mGesture=null;
Log.i(“on”,“onTesture启动”);
}
视觉上的公共空白(手势叠加视图叠加、动作事件){
}
测试结束时的公共无效(GestureOverlayView覆盖、MotionEvent事件){
mGesture=overlay.get手势();
Log.i(“on”,“手势结束”);
/*if(mGesture.getLength()
但是改变手势颜色的使用是行不通的
gestureoveryview.setGestureColor(Color.BLACK)代码>
其中,gestureOverlayView是gestureOverlayView的对象
如果颜色有十六进制字符串值,请从资源中使用此选项
gestureOverlayView.setGestureColor(Color.parseColor(R.string.Color));
您所需要做的只是重写OnTesturePerformed()方法,然后尝试更改颜色,就像我在下面所做的那样
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gestureView = (GestureOverlayView)findViewById(R.id.gvDrawingPadOrange);
gestureView.setFadeOffset(3600000);
gestureView.setEnabled(true);
gestureView.setDrawingCacheEnabled(true);
gestureView.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
}
});
gestureView.setUncertainGestureColor(getResources().getColor(R.color.colorPrimary));
gestureView.setGestureColor(Color.BLUE);
}