通过反射把手机把Menu键 的样式 统一,并且Overflow显示menu图标
[1].[代码] [Java]代码 跳至 [1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// 统一OverflowShow样式
private
void
setOverflowShowAlways() {
try
{
ViewConfiguration viewConfiguration = ViewConfiguration.get(
this
);
Field field = ViewConfiguration.
class
.getDeclaredField(
"sHasPermanentMenuKey"
);
field.setAccessible(
true
);
field.setBoolean(viewConfiguration,
false
);
}
catch
(Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// OverflowShow显示图标
@Override
public
boolean
onMenuOpened(
int
featureId, Menu menu) {
if
(featureId == Window.FEATURE_ACTION_BAR && menu !=
null
) {
if
(menu.getClass().getSimpleName().equals(
"MenuBuilder"
)) {
try
{
Method method = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible"
, Boolean.TYPE);
method.setAccessible(
true
);
method.invoke(menu,
true
);
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
return
super
.onMenuOpened(featureId, menu);
}
|