티스토리 뷰

Android

액션바 예시

varyeun 2020. 4. 22. 20:18

메뉴 속성 중에

app:showAsAction=

always : 메뉴 아이콘 항상 보여줌

never : 절대로 액션바에 표시하지 않음

ifRoom : 표시할 수 있는 공간이 존재하면 표시

withText : 메뉴의 아이콘과 텍스트를 같이 표시

 

 

activity_main.xml >> 그대로

 

MainActivity.java

package com.example.myoptionmenu;

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /*
        ActionBar abar = getSupportActionBar();
        abar.hide();
        위의 두줄 쓰면 액션바 안 보이게 됨
         */

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        int curId = item.getItemId();
        //내부에서는 integer로 관리됨
        switch(curId){
            case R.id.menu_refresh:
                Toast.makeText(this,"새로고침 메뉴 클릭됨.",Toast.LENGTH_LONG).show();
                break;
            case R.id.menu_search:
                Toast.makeText(this,"검색 메뉴 클릭됨.",Toast.LENGTH_LONG).show();
                break;
            case R.id.menu_settings:
                Toast.makeText(this,"설정 메뉴 클릭됨.",Toast.LENGTH_LONG).show();
                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}

 

댓글