0
我創建了像this這樣的旋轉木馬。如何使用箭頭鍵控制旋轉木馬以滿足上一個和下一個選定的項目?使用箭頭鍵導航旋轉木馬
我創建了像this這樣的旋轉木馬。如何使用箭頭鍵控制旋轉木馬以滿足上一個和下一個選定的項目?使用箭頭鍵導航旋轉木馬
因爲有人沒有回答我的問題,我會回答。我解決了,我添加了兩個函數moveprevious和movenext到類傳送帶,它的工作非常好。
boolean movePrevious() {
if (mItemCount > 0 && mSelectedPosition > 0) {
scrollToChild(mSelectedPosition - mFirstPosition - 1);
return true;
} else {
return false;
}
}
boolean moveNext() {
if (mItemCount > 0 && mSelectedPosition < mItemCount - 1) {
scrollToChild(mSelectedPosition - mFirstPosition + 1);
return true;
}
else {
return false;
}
}
然後我在下面的代碼中調用這些函數。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
////if (movePrevious()) {
playSoundEffect(SoundEffectConstants.NAVIGATION_LEFT);
moveNext();
////}
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:
/////if (moveNext()) {
playSoundEffect(SoundEffectConstants.NAVIGATION_RIGHT);
movePrevious();
////}
return true;
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
mReceivedInvokeKeyDown = true;
// fallthrough to default handling
}
return super.onKeyDown(keyCode, event);
}