com.google.android.things.contrib.driver.button.button与android.widget.button

com.google.android.things.contrib.driver.button.button与android.widget.button,android,android-things,Android,Android Things,我是Java/Android新手。我尝试使用android.widget.Button和com.google.android.things.contrib.driver.Button.Button的屏幕“按钮”从硬件和视觉按钮获取输入。由于名称相同,Android Studio不允许导入这两个包。我使用这些直接命名 mButtonInputDriver = new ButtonInputDriver(BoardDefaults.getGPIOForButton(),com.google.andr

我是Java/Android新手。我尝试使用android.widget.Button和com.google.android.things.contrib.driver.Button.Button的屏幕“按钮”从硬件和视觉按钮获取输入。由于名称相同,Android Studio不允许导入这两个包。我使用这些直接命名

mButtonInputDriver = new ButtonInputDriver(BoardDefaults.getGPIOForButton(),com.google.android.things.contrib.driver.button.Button.LogicState.PRESSED_WHEN_LOW, KeyEvent.KEYCODE_SPACE);
mButtonInputDriver.register();

他们仍然被称为一体。ie;HW按钮和当前活动屏幕按钮点击被视为一个按钮。如果您不希望硬件按钮进入Android的正常按钮机制(即InputDriver功能),如何将这两个按钮彼此分开?

。然后您应该直接使用
按钮
库:

mButton = new Button(gpioPinName,
        Button.LogicState.PRESSED_WHEN_LOw
);
mButton.setOnButtonEventListener(new OnButtonEventListener() {
    @Override
    public void onButtonEvent(Button button, boolean pressed) {
        // do something awesome when the Hardware button is pressed only
    }
});


(而不是使用
按钮InputDriver
向系统注册)

按钮InputDriven将futtons输入到onKeyPressed,这与标准View.OnClickedListener视图按钮无关。事实上,它们是完全不同的东西。我其实不明白这个问题。