본문 바로가기

Programming/android/tablet

ActionBar에 메뉴 넣기.


액션바에 메뉴를 넣는 방법은 , 

1.  Activity의  
     public boolean onCreateOptionsMenu(Menu menu)  메소드를 오버라이드 한다.
     메뉴를 넣을려면 이 메소드를 오버라이드 한다.

2. Activity의    
     public boolean onOptionsItemSelected(MenuItem item) 메소드를 오버라이드한다.
     메뉴가 나오고, 메뉴가 선택되면 호출된다.

예제

public class ActionBarExample01Activity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

    

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    super.onCreateOptionsMenu(menu);

    MenuItem item1 = menu.add(0, 0, 0, "사과");

    {

    item1.setAlphabeticShortcut('a');

    item1.setIcon(android.R.drawable.btn_default_small);

    }

    MenuItem item2 = menu.add(0, 1, 1, "배");

    {

    item2.setAlphabeticShortcut('b');

    item2.setIcon(android.R.drawable.btn_default_small);

    }

    MenuItem item3 = menu.add(0, 2, 2, "딸기");

    {

    item3.setAlphabeticShortcut('c');

    item3.setIcon(android.R.drawable.btn_default_small);

    }

    menu.add(0, 3, 3, "감");

    menu.add(0, 4, 4, "귤");

    menu.add(0, 5, 5, "바나나");

    return true;

    }

    

   @Override

   public boolean onOptionsItemSelected(MenuItem item) {

       if(item != null){

  Toast.makeText(this, item.getTitle() + " selected", Toast.LENGTH_SHORT).show();

  return true;

       } else {

  return false;

       }

   }

 
이렇게 하면, 액션바 옆에 메뉴가 생긴다.

메뉴 화면 말고, 메뉴화면 옆에 아이콘을 따로 뺄수도 있는데, 그렇다면,
다음의 코드를 넣어주면 된다. 

 item1.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT|MenuItem.SHOW_AS_ACTION_IF_ROOM);


예제.

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    super.onCreateOptionsMenu(menu);

    MenuItem item1 = menu.add(0, 0, 0, "사과");

    {

    item1.setAlphabeticShortcut('a');

    item1.setIcon(android.R.drawable.btn_plus);
               item1.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT
                                                              |MenuItem.SHOW_AS_ACTION_IF_ROOM);

    }




'Programming > android/tablet' 카테고리의 다른 글

Action Bar 숨기기  (3) 2011.12.24
Fragment와 AddToBackStack  (0) 2011.12.24
java코드를 이용하여, Fragment사용하기.  (0) 2011.12.04
xml을 이용해 Fragment이용하기.  (9) 2011.12.04
fragment란?  (0) 2011.12.04