From 4b856f8d3696a886b09f704e281b5cc029878e24 Mon Sep 17 00:00:00 2001
From: pppscn <35696959@qq.com>
Date: Fri, 19 Nov 2021 20:56:48 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9AActionBar=E5=BC=B9?=
=?UTF-8?q?=E5=87=BA=E8=8F=9C=E5=8D=95=E7=9A=84=E4=BD=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../idormy/sms/forwarder/MainActivity.java | 40 ++++++++++++++---
.../main/res/drawable/{app.xml => ic_app.xml} | 0
app/src/main/res/drawable/ic_clone.xml | 10 +++++
app/src/main/res/drawable/ic_settings.xml | 10 +++++
app/src/main/res/layout/item_app.xml | 43 +++++++++++++++++++
app/src/main/res/menu/menu_main.xml | 13 +++++-
app/src/main/res/values/styles.xml | 20 ++++++---
7 files changed, 124 insertions(+), 12 deletions(-)
rename app/src/main/res/drawable/{app.xml => ic_app.xml} (100%)
create mode 100644 app/src/main/res/drawable/ic_clone.xml
create mode 100644 app/src/main/res/drawable/ic_settings.xml
create mode 100644 app/src/main/res/layout/item_app.xml
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 @@
+