달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

액션바에 메뉴 등록후 메뉴항목 선택시 토스트 메시지 출력

   

   

강의 내용

/layout/activity_main.xml.xml

RelativeLayout 변경

Graphical Layout > Form Widgets-TextView 추가

  

/menu/main.xml

main.xml 수정

XML로 메뉴 항목 작성

MainActivity.java

import android.view.Menu;

import android.view.MenuItem;

//ActionBar 형태 지정

// MenuInflater를 통해 XML파일의 메뉴정보를 읽어들여 메뉴 등록

//메뉴의 아이템을 클릭 시 자동 호출되는 onOptionsItemSelected 재정의

AndroidManifest.xml

<uses-sdk android:minSdkVersion="14" 의 홈 링크 확인 후

//API버전 11부터 사용 가능한 것으로 다시 표시 ( <아이콘 타이틀 표시)

   

   

AndroidManifest.xml minSdkVersion=14로 수정

   

 

   

출력 결과

   

Ctrl + F11

   

   

   

   

   

   

   

   

   

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

ActionBar형태 확인 및 테스트

   

   

강의 내용

/layout/activity_main.xml.xml

RelativeLayout 변경

Graphical Layout > Form Widgets-TextView 추가

  

AndroidManifest.xml

<uses-sdk android:minSdkVersion="11"

MainActivity.java

import android.app.ActionBar;

//ActionBar생성

>확인

//타이틀 셋팅

>확인

//서브타이틀 셋팅

>확인

//타이틀 영역을 제거하고 아이콘만 보이게 하기

>확인

//ActionBar 숨기기

>확인

//ActionBar 보이기

>확인

   

   

ActionBar

  • API 11부터 사용가능
  • AndroidMainifest.xml의 minSDKVersion을 11이상으로 지정해야 함

   

   

 

   

출력 결과

//ActionBar생성

   

//타이틀 셋팅

   

//서브타이틀 셋팅

   

//타이틀 영역을 제거하고 아이콘만 보이게 하기

   

//ActionBar 숨기기

   

//ActionBar 보이기

   

Posted by codedragon codedragon

댓글을 달아 주세요

컨텍스트 메뉴 생성

   

   

강의 내용

activity_main.xml

RelativeLayout 변경

Graphical Layout > Composite-ListView 추가

-android:id="@android:id/list"

MainActivity.java

extends ListActivity

//배열 생성

//어댑터 생성

//ListView에 Adapter객체 등록

//컨텍스트 메뉴 생성

//컨텍스트 메뉴의 아이템을 클릭에 따른 이벤트 발생에 대한 처리

   

   

   

출력 결과

   

아이템을 길게 터치하면 컨텍스트 메뉴가오픈됩니다.

   

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

Menu 종류

옵션메뉴(Option Menu)

단말의 메뉴버튼을 눌렀을 때 표시되는 메뉴.

   

옵션메뉴는 각각의 화면마다 설정할 수 있습니다.

컨텍스트메뉴(Context Menu)

항목을 길게 눌렀을 때 표시되는 메뉴.

   

컨텍스트메뉴는 각각의 뷰마다 설정할 수 있습니다.

   

   

Menu추가

옵션메뉴와 컨텍스트 메뉴를 추가하기 위해서는 두개의 메소드를 재정의함으로써 메뉴 아이템을 추가할 수 있습니다.

public boolean onCreateOptionsMenu(Menu menu)

public boolean onOptionsItemSelected(MenuItem item)

   

Menu객체의 Add메소드 인자

인자

설명

groupId

메뉴 아이템 그룹 지정, 미지정시 Menu.NONE=0

itemId

메뉴 아이템 부여된 ID

order

메뉴 아이템이 표시될 순서, 미지정시 Menu.NONE=0

title

메뉴 아이템이 표시될 텍스트        

   

   

   

Menu관련 멤버 메소드

onCreateOptionsMenu( )

옵션메뉴 추가

onOptionsItemSelected( )

컨텍스트메뉴 추가

onPrepareOptionsMenu( )

화면의 메뉴 변경

onOptionItemSelected( )

메뉴 아이템 선택시 자동호출되는 메소드

   

   

   

/menu/main.xml

  • 메뉴를 정의하는 XML파일
  • 가장 상위에 <menu>태그를 가지고 있습니다.
  • 각각의 메뉴 아이템은 <item>태그로 정의합니다.
  • 메뉴를 정의한 XML파일은 onCreateOptionsMenu()메소드가 호출될 때 인플레이터 객체를 사용하여 메모리에 로딩합니다.

   

item 속성

android:id

각 메뉴 아이템을 고유한 ID로 구분

android:icon

메뉴 아이템에 보일 아이콘 설정

android:title

메뉴 아이템에 보일 타이틀 설정

android:showAsAction

메뉴가 어떤 방식으로 표시할지를 설정

android:orderInCategory

여러 액션 아이템이 나열되는 순서를 정의하는 속성

0이 우선순위가 가장 높음

   

android:showAsAction 속성값

always

항상 액션바에 아이템을 추가하여 표시

never

기본값

액션바에 아이템을 추가하여 표시하지 않습니다.

ifRoom

액션바에 여유공간이 있을 때만 아이템을 표시합니다.

withText

설정된 제목을 함께 표시합니다.

collapseActionView

아이템에 설정한 뷰(actionViewLayout으로 설정한 뷰)의 아이콘만 표시합니다.

 

Posted by codedragon codedragon

댓글을 달아 주세요