优化:抽离溢出菜单代码到BaseActivity
parent
85d944c91a
commit
3c32b696c8
@ -0,0 +1,71 @@
|
|||||||
|
package com.idormy.sms.forwarder;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
public class BaseActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private final String TAG = "BaseActivity";
|
||||||
|
|
||||||
|
//启用menu
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||||
|
return super.onCreateOptionsMenu(menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
//menu点击事件
|
||||||
|
@SuppressLint("NonConstantResourceId")
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
Intent intent;
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case R.id.to_app_list:
|
||||||
|
intent = new Intent(this, AppListActivity.class);
|
||||||
|
break;
|
||||||
|
case R.id.to_clone:
|
||||||
|
intent = new Intent(this, CloneActivity.class);
|
||||||
|
break;
|
||||||
|
case R.id.to_about:
|
||||||
|
intent = new Intent(this, AboutActivity.class);
|
||||||
|
break;
|
||||||
|
case R.id.to_help:
|
||||||
|
//Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||||
|
//intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||||
|
intent = new Intent(this, HelpActivity.class);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置menu图标显示
|
||||||
|
@Override
|
||||||
|
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||||
|
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||||
|
if (menu != null) {
|
||||||
|
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||||
|
try {
|
||||||
|
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||||
|
m.setAccessible(true);
|
||||||
|
m.invoke(menu, true);
|
||||||
|
} catch (NoSuchMethodException e) {
|
||||||
|
Log.e(TAG, "onMenuOpened", e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onMenuOpened(featureId, menu);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue