2013-10-01 49 views
0

我跟着this教程在我的Android应用程序中创建了一个GestureOverlayView。我的主视图中有一个颜色选择器,我已经添加了手势叠加层。现在,叠加层可以正常工作,但当叠加层位于顶层时,不会触发颜色选择器的颜色变化事件。这是活动的代码。GestureOverlayView隐藏子视图的事件

public class LightingActivity extends Activity implements OnColorChangedListener, OnGesturePerformedListener { 
private ColorPicker picker; 
private GestureLibrary gestureLib; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_lighting); 
    picker = (ColorPicker) findViewById(R.id.picker); 
    //Register the event handler for color changes 
    picker.setOnColorChangedListener(this); 
    GestureOverlayView gestureOverlayView = new GestureOverlayView(this); 
     View inflate = getLayoutInflater().inflate(R.layout.activity_lighting, null); 
    gestureOverlayView.addView(inflate); 
    gestureOverlayView.addOnGesturePerformedListener(this); 
    gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures); 
    if (!gestureLib.load()) { 
     finish(); 
    } 
    setContentView(gestureOverlayView); 

} 

@Override 
public void onColorChanged(int color) { 
    Toast.makeText(this, color, Toast.LENGTH_LONG).show(); 
} 

@Override 
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { 
    ArrayList<Prediction> predictions = gestureLib.recognize(gesture); 
    for (Prediction prediction : predictions) { 
     if (prediction.score > 1.0) { 
     Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT) 
      .show(); 
     } 
    } 

} 
} 

我想要手势叠加,同时仍然能够触发颜色选择器视图的onColorChanged事件。任何帮助将是伟大的!提前致谢。

+0

没人?认真? –

回答

0

在我看来,这是行不通的,因为您将听众附加到您不使用的颜色选择器上。

在这行要连接监听器颜色选择器:

setContentView(R.layout.activity_lighting); 
picker = (ColorPicker) findViewById(R.id.picker); 
//Register the event handler for color changes 
picker.setOnColorChangedListener(this); 

,后来又创建了一个完全不同的看法gestureOverlayView和以前的观点是根本无法甚至显示。