프로그래밍/안드로이드

안드로이드 - 액션바 기초

가카리 2015. 9. 20. 14:43
반응형

 

액션바에는 다음과 같은 항목이 배치된다.

 

1. 왼쪽에 응용 프로그램의 아이콘과 제목이 표시된다.

2. 오른쪽에는 자주 사용하는 메뉴 명령을 액션 항목으로 배치하여 신속하게 사용할 수 있다.

3. 커스텀 뷰를 배치하여 사용 빈도가 높은 기능을 처리한다.

4. 프래그먼트를 전환하는 탭 내비게이션을 지원한다.

 

액션바로 메뉴를 확장하려면 showAsAction 속성을 지정해야 한다.

 

속성

설명

never

항목을 액션바에 배치하지 않는다. 디폴트 값

always

항목을 항상 액션바에 배치한다.

ifRoom

액션바에 여유 공간이 있을 때만 배치한다.

withText

다른 옵션과 함께 | 연산자로 연결하여 지정한다.

collapseActionView

actionLayout이나 actionViewClass 속성으로 지정한 액션 뷰를 축소할 수 있다.

 

 

실행 중에도 다음 메소드를 호출하여 속성을 지정할 수 있다.

 

MenuItem setShowAsActionFlags(int actionEnum)

 

action_bar_test.xml 파일

<menu xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

tools:context="com.example.ch21_actionbartest.ActionBarTest" >

 

    <item android:title="하나"

     android:icon="@android:drawable/ic_menu_add"

     android:showAsAction="always|withText"

     />

    <item android:title=""

     android:icon="@android:drawable/ic_menu_edit"

     android:showAsAction="ifRoom"

     />

    <item android:title=""

     android:showAsAction="ifRoom"

     />

    <item android:title=""

     android:showAsAction="ifRoom"

     />        

    <item android:title="다섯"

     android:showAsAction="ifRoom"

     />            

    <item android:title="여섯"

     />            

</menu>

 

 

ActionBarTest.java

 

package com.example.ch21_actionbartest;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.Window;

import android.widget.TextView;

 

public class ActionBarTest extends Activity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_ACTION_BAR);

        TextView text = new TextView(this);

        text.setText("액션바를 테스트합니다.");

        setContentView(text);

        

    }

 

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        super.onCreateOptionsMenu(menu);

        

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.action_bar_test, menu);

        

        return true;

    }

 

}

 

 

실행 화면

다음은 실행화면입니다. 타이틀 옆에 액션바가 나타남을 알 수 있습니다.

 

 

가로로 하면 여유공간이 더 많아서 많은 항목이 보이는 것을 알 수 있습니다.