티스토리 뷰

728x90
하드키가 아닌 버튼 등을 이용해서 소프트키로 메뉴를 호출할때 사용하면 된다

package test.capture;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

public class CaptureTestActivity extends Activity {
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        View view = findViewById(R.id.view);
        view.findFocus();
        Button btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CaptureTestActivity.this.openOptionsMenu();
}
});
    }

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem item = menu.add(0, 1, 0, "메뉴 1");
item.setIcon(R.drawable.icon);
menu.add(0, 2, 0, "메뉴 2").setIcon(R.drawable.icon);
menu.add(0, 3, 0, "메뉴 3").setIcon(R.drawable.icon);
return true;

}

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
return true;
case 2:
return true;
case 3:
return true;
}
return false;
}

}


확실히 써주고 싶어서 CaptureTestActivity.this.openOptionsMenu() 라고 써놨지만
그냥 openOptionsMenu() 라고만 써줘도 된다