2013-10-22 1 views
0

나는 구글에서 이미지를 가지고 그리고 내가 당신에게 보여주고 싶은 무엇 맞습니다. 난 그냥 파란색 결과를 얻고 싶습니다. 그리고 XML 파일이 아닌 코드로 그 결과를 원합니다. 안드로이드 onCreateMenuOptions 동적

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Add").setIcon(R.drawable.myicon); 
    return true; 
} 

문제는 값이 "추가"이다 (좌측) 주황색 화상 화살표 안에 나타날 I는 화상 밖에 표시 할.

어떻게하면됩니까? 감사.

답변

3

MenuItem에서 setShowAsAction()으로 전화해야합니다. Menus guide에 따라 작업 표시 줄에 표시되는 항목을 작업 항목이라고합니다. 주황색으로 지적한 메뉴는 작업 오버플로 메뉴입니다.

문서에는 전달할 수있는 다양한 플래그가 나열되어 있습니다. 찾고있는 플래그는 SHOW_AS_ACTION_ALWAYS입니다.

SHOW_AS_ACTION_IF_ROOM을 사용하면 ActionBar에 맞지 않는 메뉴 항목이 자동으로 오버플로 메뉴로 이동합니다. SHOW_AS_ACTION_NEVER을 사용하면 항상 오버플로 메뉴에있게됩니다.

11 (3.0) 미만의 API 버전을 지원하는 경우 API 버전 확인에 setShowAsAction()을 입력해야합니다.

+0

네, 맞습니다. 그러나 이미지와 텍스트를 어떻게 얻을 수 있습니까? 'MenuItem SaveMenu = menu.add (Menu.NONE, Menu.NONE, Menu.NONE, "Save"); SaveMenu.setIcon (R.drawable.pin_location); \t \t SaveMenu.setShowAsAction (MenuItem.SHOW_AS_ACTION_WITH_TEXT); ' 이렇게하면 이미지 나 텍스트가 표시되지 않습니다. 텍스트는 기본적으로 "설정 메뉴"안에 표시됩니다. – user2902515

+1

문서에 'SHOW_AS_ACTION_WITH_TEXT' 플래그가있는 다른 플래그가 필요하다고 나와 있습니다. 따라서 당신의 코드는'SaveMenu.setShowAsAction (MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);와 같아야합니다. ' –

+0

해결되었습니다. – user2902515

0

사람들은 2.in 메뉴 폴더 XML 파일을 생성하고이

<item 
    android:id="@+id/newrss_actionbar" 
    android:icon="@drawable/content_new" 
    android:showAsAction="always" 
    android:title="@string/abc"/> 

3.in 활동 파일이

처럼 사용 추가

1.create 아이콘 액션 바 항목이며, 당김 폴더에 복사

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
      switch (item.getItemId()) { 
      case R.id.newrss_actionbar: 
      //do your work 
      return true; 
} 
관련 문제