안드로이드에서 ActionBarActivity를 이용한 Action Bar 사용하기 Android

ActionBarActivity를 이용한 Action Bar 사용하기

Acton Bar 기능은 허니콤 이후 부터 사용가능하기 때문에 Action Bar를 이용해 메뉴를 만들려면 minSDKVersion를 11이상으로 명시해야 한다. 이번에 소개하는 ActionBarActivity는 외부 라이브러리로 import해서 사용하기 때문에 minSDKVersion이 11이하여도 동작한다.

1. import

import android.support.v7.app.ActionBarActivity; <- ActionBarActivity
import android.support.v7.app.ActionBar; <- ActionBar

2. 메뉴 작업

res>menu  폴더에 xml(main.xml)를 생성
app:showAsAction 을 이용해 메뉴가 보여지는 방식을 지정
---------------------------------
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="kr.android.actionbar.MainActivity" >

   <item
        android:id="@+id/menu_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="검색"
        android:orderInCategory="1"
        app:showAsAction="always|withText"   <- 액션바에 항상 메뉴가 보여짐(아이콘 표시, 공간의 여유가 있으면 텍스트도 함께 표시)
     />   
     <item
        android:id="@+id/itemEmail"
        android:icon="@android:drawable/sym_action_email"
        android:orderInCategory="1"
        android:title="이메일" 
        app:showAsAction="ifRoom" <- 메뉴를 보여줄 수 있는 여유공간이 있을 때만 액션바에 아이콘 표시
      /> 
     <!-- 오버플로우 메뉴 형태로 보여짐 -->
     <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings" 
        app:showAsAction="never" <- 항상 오버플로우 메뉴 형태로 보여짐
    />

</menu>
---------------------------------------------

3. MainActivity에서main.xml 등록

- 메뉴 등록
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

- 메뉴 선택시 이벤트 처리
public boolean onOptionsItemSelected(MenuItem item) {

//상황에 맞게 이벤트 처리

return super.onOptionsItemSelected(item);
}


덧글

댓글 입력 영역

애드센스(468*60)



애드센스(160*600)