diff --git a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java index 007da25a..dba161c8 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java +++ b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java @@ -12,9 +12,9 @@ import android.os.PowerManager; import android.service.notification.StatusBarNotification; import android.util.Log; import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.Window; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; @@ -40,6 +40,7 @@ import com.idormy.sms.forwarder.utils.PhoneUtils; import com.idormy.sms.forwarder.utils.SmsUtil; import com.idormy.sms.forwarder.utils.aUtil; +import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -314,6 +315,11 @@ public class MainActivity extends AppCompatActivity implements NotifyListener, R builder.show(); } + public void toAppList() { + Intent intent = new Intent(this, AppListActivity.class); + startActivity(intent); + } + public void toClone() { Intent intent = new Intent(this, CloneActivity.class); startActivity(intent); @@ -360,11 +366,22 @@ public class MainActivity extends AppCompatActivity implements NotifyListener, R startActivity(intent); } + //启用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) { // Handle item selection switch (item.getItemId()) { + case R.id.to_app_list: + toAppList(); + return true; case R.id.to_clone: toClone(); return true; @@ -379,13 +396,26 @@ public class MainActivity extends AppCompatActivity implements NotifyListener, R } } + //设置menu图标显示 @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu_main, menu); - return true; + public boolean onMenuOpened(int featureId, Menu menu) { + if (featureId == Window.FEATURE_ACTION_BAR && 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); } + /** * 收到通知 * diff --git a/app/src/main/res/drawable/app.xml b/app/src/main/res/drawable/ic_app.xml similarity index 100% rename from app/src/main/res/drawable/app.xml rename to app/src/main/res/drawable/ic_app.xml diff --git a/app/src/main/res/drawable/ic_clone.xml b/app/src/main/res/drawable/ic_clone.xml new file mode 100644 index 00000000..5f9329b5 --- /dev/null +++ b/app/src/main/res/drawable/ic_clone.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml new file mode 100644 index 00000000..41a82ede --- /dev/null +++ b/app/src/main/res/drawable/ic_settings.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/item_app.xml b/app/src/main/res/layout/item_app.xml new file mode 100644 index 00000000..55d53ad7 --- /dev/null +++ b/app/src/main/res/layout/item_app.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 6fb4e4d5..b7f5bb4d 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -1,21 +1,30 @@ + + tools:context="com.idormy.sms.forwarder.MainActivity"> + - diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index dc14a189..537b9e03 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -6,6 +6,13 @@ @color/colorPrimary @color/colorPrimaryDark @color/colorAccent + @style/OverflowMenu + + +