为什么 button.ispressed() 对 android 不起作用

why button.ispressed() doesn't work on android things

您好,我试图点亮 android 上的 LED,仅当按下按钮(不是物理按钮)时 所以我在下面尝试了这段代码,但它不适用于未按下的方法: 我只想在按下按钮时被引导打开

button.setOnClickListener(新View.OnClickListener() {

            @Override

            public void onClick(View view) {

                if(!button.isPressed()){
                try {

                    mLightGpio = mPeripheralManager.openGpio("BCM3");
                    mLightGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_HIGH);


                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
              else
                  {
                   try {
                       mLightGpio = mPeripheralManager.openGpio("BCM3");
                       mLightGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW);

                   } catch (IOException e) {
                       e.printStackTrace();
                   }
                }
            }

        });
    }

因为 onClick 只调用一次。我建议在按下按钮 (ACTION_DOWN) 时点亮 LED,在松开按钮 (ACTION_UP) 时将其关闭。

使用这样的东西:

button.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction() ) {
            case MotionEvent.ACTION_DOWN:
                // light up
            break;

            case MotionEvent.ACTION_UP:
                // turn off
            break;
        }

        return false;
    }
});