프로그래밍/Android
[Android] 버튼 등으로 메뉴 호출하기
꼬렙
2011. 10. 6. 09:12
728x90
하드키가 아닌 버튼 등을 이용해서 소프트키로 메뉴를 호출할때 사용하면 된다
확실히 써주고 싶어서 CaptureTestActivity.this.openOptionsMenu() 라고 써놨지만
그냥 openOptionsMenu() 라고만 써줘도 된다
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() 라고만 써줘도 된다