액션바의 왼쪽에 앱의 로고 아이콘이 표시되어 실행 중인 앱이 무엇인지 보여준다.
다음 메소드를 사용하면 로고 아이콘을 사용하겠다는 선언을 한다.
void setHomeButtonEnabled(boolean enabled)
이 선언을 한 상태에서 홈 버튼을 누르면 android.R.id.home 명령이 전달되며 여기서 원하는 작업을 한다.
1.Home으로 이동 : 메인 액티비티로 즉시 이동한다.
2. Up 내비케이션 : 한 수준 위의 상위 액티비티로 이동한다. Back 버튼을 누른 것과 유사함.
다음은 로고 아이콘을 누를 때 토스트 메시지를 띄우는 예제이다.
app_icon.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.ch21_appicon.AppIcon" >
<item android:id="@+id/one"
android:title="하나"
android:icon="@android:drawable/ic_menu_edit"
android:showAsAction="always|withText"/>
</menu>
AppIcon.java
package com.example.ch21_appicon;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class AppIcon extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_icon);
TextView text = new TextView(this);
text.setText("타이틀 바의 로고 아이콘을 누르세요.");
setContentView(text);
getActionBar().setHomeButtonEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.app_icon, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.one:
Toast.makeText(this, "첫번째 액션항목", Toast.LENGTH_SHORT).show();
return true;
case android.R.id.home:
Toast.makeText(this, "로고항목", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
}
실행 화면
로고 아이콘을 누르면 토스트 메시지가 나온다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - ShareActionProvider를 이용한 앱간 데이터 공유 처리하기 (0) | 2015.10.04 |
---|---|
안드로이드 - 액션바의 활용 두번째 액션 프로바이더 (0) | 2015.09.28 |
안드로이드 - 프래그먼트를 이용한 간단한 사전 만들기 (0) | 2015.09.21 |
안드로이드 - 액션바의 활용 첫번째 SeachView (0) | 2015.09.20 |
안드로이드 - 액션바 숨기기 및 보이기 (0) | 2015.09.20 |
안드로이드 - 액션바 기초 (0) | 2015.09.20 |
안드로이드 - 이클립스에서 안드로이드 SDK MANAGER가 안보일때 (0) | 2015.09.19 |
안드로이드 - ListFragment 만들기 (0) | 2015.09.13 |