"실제"오버플로 메뉴를 가져 오는 대신 서브 메뉴로 위조 할 수 있습니다.
원래 오버플로 버튼처럼 보이고 작동합니다. 항상 더 좋을 것입니다.
private Menu mainMenu;
private SubMenu subMenu1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mainMenu = menu;
subMenu1 = menu.addSubMenu("");
subMenu1.add("Settings");
subMenu1.add("About");
subMenu1.add("Help");
MenuItem subMenu1Item = subMenu1.getItem();
subMenu1Item.setIcon(R.drawable.ic_menu_moreoverflow_normal_holo_dark);
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
당연히 이전처럼 subMenus를 설정할 수 있습니다. groudID, itemID 등으로
메뉴 아이콘으로 * ic_menu_moreoverflow_normal_holo_dark *를 선택했습니다. 이렇게하면 버튼이 오버플로처럼 보입니다.
이제 사용자가 하드웨어 메뉴 버튼을 눌렀을 때 열려면이 하위 메뉴가 필요합니다. 이전처럼 mainMenu와 subMenu1을 설정하면 매우 쉽게 할 수 있습니다.
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
mainMenu.performIdentifierAction(subMenu1.getItem().getItemId(), 0);
return true;
}
return super.onKeyUp(keyCode, event);
}
가져올 것을주의 :
import com.actionbarsherlock.view.SubMenu;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
및 을하지 :
import android.view.MenuItem;
난 그냥 지금 4.1을 고수하기로 결정 ... 이것에 대해 행복하지 않은 중 하나지만 매우 행복 ABS와 함께 ... – dorjeduck