Android 안드로이드
자주 사용하는 OptionsMenu 템플릿
코드버무려
2017. 3. 28. 22:51
옵션메뉴를 보통 이렇게 구성한다.
기존에는 기만들어 놓은 소스를 꺼내와 압축을 풀고 해당 액티비티에서 아래 소스를 찾아 지금 진행 중인 프로젝트에 붙여넣기 했다.
다양한 앱 제작을 진행하면서 그 형식이 대부분 바뀜없이 여기서 시작한다. 앞으로 예전 소스보다는 바로 아래에서 그대러 긁어 가져가서 진행 속도를 높이려고 한다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(IsDebugging) Log.d(TAG, "onCreateOptionsMenu()");
return true;
}
PackageInfo getPackageInfo() {
PackageInfo pinfo = null;
try {
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return pinfo;
}
public boolean onPrepareOptionsMenu(Menu menu) {
if(IsDebugging) Log.d(TAG, "onPrepareOptionsMenu()");
menu.clear();
PackageInfo pinfo = getPackageInfo();
int versionCode = pinfo.versionCode;
String versionName = pinfo.versionName;
Resources res = getResources();
String text = String.format(
res.getString(R.string.about), versionName,
50 - versionCode >= 0 ? 50 - versionCode : versionCode - 50);
menu.add(0, Menu.FIRST , 0, text);
menu.add(0, Menu.FIRST +1, 0, "mIsBackButton=" +mIsBackButton);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(IsDebugging) Log.d(TAG, "onOptionsItemSelected()");
switch (item.getItemId()) {
case Menu.FIRST:
return true;
case Menu.FIRST + 1:
mIsBackButton = !mIsBackButton;
if(IsDebugging) Log.d(TAG, "mIsBackButton = " +mIsBackButton);
if(IsDebugging) Toast.makeText(this, "mIsBackButton = " +mIsBackButton, Toast.LENGTH_SHORT).show();
invalidateOptionsMenu();
return true;
}
return super.onOptionsItemSelected(item);
}