액션바에 메뉴를 넣는 방법은 ,
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 |