프로그래밍/안드로이드

안드로이드 - 앱 로고 아이콘

가카리 2015. 9. 20. 16:20
반응형

 

액션바의 왼쪽에 앱의 로고 아이콘이 표시되어 실행 중인 앱이 무엇인지 보여준다.

 

다음 메소드를 사용하면 로고 아이콘을 사용하겠다는 선언을 한다.

 

    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;

    }

}

 

실행 화면

로고 아이콘을 누르면 토스트 메시지가 나온다.