Android手柄焦点控制

来源:互联网 发布:淘宝福利晒图店家 编辑:程序博客网 时间:2024/06/09 18:58

原文地址:http://blog.csdn.net/wcs542882916

public class ActivityFocus extends Activity {    private Button mBtnCenter;    private Button mBtnLeft;    private Button mBtnTop;    private Button mBtnRight;    private Button mBtnBottom;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_focus);        mBtnCenter = (Button) findViewById(R.id.btn_center);        mBtnLeft = (Button) findViewById(R.id.btn_left);        mBtnTop = (Button) findViewById(R.id.btn_top);        mBtnRight = (Button) findViewById(R.id.btn_right);        mBtnBottom = (Button) findViewById(R.id.btn_bottom);        // focus =====================================================        mBtnCenter.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnBottom.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_UP && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnTop.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnLeft.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnRight.requestFocus();                }                return false;            }        });        mBtnLeft.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnBottom.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_UP && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnTop.requestFocus();                }else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnRight.requestFocus();                }                return false;            }        });        mBtnTop.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnCenter.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnLeft.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnRight.requestFocus();                }                return false;            }        });        mBtnRight.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnBottom.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_UP && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnTop.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnLeft.requestFocus();                }                return false;            }        });        mBtnBottom.setOnKeyListener(new View.OnKeyListener() {            @Override            public boolean onKey(View v, int keyCode, KeyEvent event) {                if (keyCode == KeyEvent.KEYCODE_DPAD_UP && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnTop.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnLeft.requestFocus();                } else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() == KeyEvent.ACTION_DOWN) {                    return mBtnRight.requestFocus();                }                return false;            }        });        // event ========================================================        mBtnCenter.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // TODO: 2016/6/11            }        });        mBtnLeft.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // TODO: 2016/6/11            }        });        mBtnTop.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // TODO: 2016/6/11            }        });        mBtnRight.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // TODO: 2016/6/11            }        });        mBtnBottom.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // TODO: 2016/6/11            }        });    }}


0 0
原创粉丝点击