监听按键物理触发,监听到view变绿

已在Android6.0调试,可正常运行,希望对大家有帮助


package com.example.keytest;


import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;


public class KeyTest extends Activity implements OnClickListener{
private Button mBackButton;
private Button mUpButton;
private Button mDownButton;
private Button mEnterButton;
private Button mFailButton;
private Button mSuccessButton;
private Button mPowerButton;
private Button mReTestButton;
@Override
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState);
// this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.key_test);
mBackButton = (Button) findViewById(R.id.back);
mUpButton = (Button) findViewById(R.id.volume_up);
mDownButton = (Button) findViewById(R.id.volume_down);
mEnterButton = (Button) findViewById(R.id.enter);
mPowerButton = (Button) findViewById(R.id.power);

mFailButton = (Button) findViewById(R.id.failed);
mFailButton.setOnClickListener(this);

mSuccessButton = (Button) findViewById(R.id.successed);
mSuccessButton.setOnClickListener(this);

mReTestButton = (Button) findViewById(R.id.reTest);
mReTestButton.setOnClickListener(this);

mBackButton.setBackgroundColor(Color.WHITE);
mUpButton.setBackgroundColor(Color.WHITE);
mDownButton.setBackgroundColor(Color.WHITE);
mEnterButton.setBackgroundColor(Color.WHITE);
mPowerButton.setBackgroundColor(Color.WHITE);
}


@Override
public boolean dispatchKeyEvent(KeyEvent event) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_BACK:
mBackButton.setBackgroundColor(Color.GREEN);
return true;


case KeyEvent.KEYCODE_VOLUME_UP:
mUpButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_VOLUME_DOWN:
mDownButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_ENTER:
mEnterButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_POWER:
mPowerButton.setBackgroundColor(Color.GREEN);
return true;
}
return super.dispatchKeyEvent(event);
}


public void onClick(View v) {
if(v == mSuccessButton){
// this.setResult(1);
// finish();
}else if(v == mFailButton){
// this.setResult(-1);
// finish();
}else if(v == mReTestButton){ 
mUpButton.setBackgroundColor(Color.WHITE);
mDownButton.setBackgroundColor(Color.WHITE);
mBackButton.setBackgroundColor(Color.WHITE);
mEnterButton.setBackgroundColor(Color.WHITE);
mPowerButton.setBackgroundColor(Color.WHITE);
}
}


@Override
public void onAttachedToWindow()   
{     
//       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);        
      super.onAttachedToWindow();     
}   

}


下载源码地址:http://download.csdn.net/detail/qitehuanjue/9686866

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值