Updated: 07 May 2013
Tested in:
ZTV - model E class - E1-1 (android 4.0.4) + Samsung TV 32"
Base on:
Eclipse Indigo build in 20120216-1857, Java 1.6, Android 4.2.2
Download Source code:
TestZtv20130507.rar
Description:
This tutorial focused on D-pad handle for TV android. If you don't have any TV android box, you can use Android Emulator with soft D-pad enabled.
Screen shot:
Tutorial:
1. To control the D-pad moving, use some attributes:
android:nextFocusUp,android:nextFocusDown,android:nextFocusLeftandroid:nextFocusRight2. If you want to control the items moving of gridview, modify setOnKeyListener event
gridView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode != KeyEvent.KEYCODE_DPAD_UP && keyCode != KeyEvent.KEYCODE_DPAD_DOWN && keyCode != KeyEvent.KEYCODE_DPAD_CENTER) {
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT && event.getAction() == 0) {
try {
if (gridView.getSelectedItemPosition() < mAdapter.getCount() - 1) {
gridView.setSelection(gridView.getSelectedItemPosition() + 1);
return true;
}
} catch (Exception e) {
gridView.setSelection(mAdapter.getCount() - 1);
return true;
}
} else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && event.getAction() == 0) {
try {
if (gridView.getSelectedItemPosition() > 0) {
gridView.setSelection(gridView.getSelectedItemPosition() - 1);
return true;
}
} catch (Exception e) {
gridView.setSelection(0);
return true;
}
}
}
return false;
}
});
References:
developers.google.com/tv/android/docs/gtv_controlguide