您的位置:首页 > 移动开发 > Android开发

Android手柄焦点控制

2016-06-11 23:58 633 查看
原文地址: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
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android