我只是在Galaxy S3上测试我的应用程序。它在手机上有一个硬件菜单按钮。
我使用一个Activity来保存一些片段,每个片段都有自己的动作栏项目要显示。它在其他手机上运行良好,只有动作栏部分,它在S3上运行良好。
我的问题是在S3上,当我点击该硬件菜单按钮时,它会弹出一个列表,其中包含片段上定义的所有当前操作项名称。弹出列表位于屏幕底部。请参阅下面的屏幕截图。
我想知道是否有办法可以禁用此行为?我希望应用程序将忽略硬件菜单按钮的单击,并让用户使用操作栏上的按钮。我已经尝试使用dispatchKeyEvent,检查KEYCOD_MENU,但似乎不起作用。
谢谢!
更新:
主题:
在values文件夹中,styles.xml:
<?xml version="1.0" encoding="utf-8"?> <resources>
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="contentInsetStart">0dp</item>
</style>
<style name="Widget.Toolbar" parent="@style/Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item>
</style>
<!-- Style user drawer -->
<style name="textView_title_list" parent="android:Widget.TextView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/bg_black_transparent</item>
<item name="android:ellipsize">end</item>
<item name="android:padding">4dp</item>
<item name="android:layout_gravity">bottom</item>
</style>
<!-- ToolBar -->
<style name="ToolBarStyle" parent="Theme.AppCompat">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="SmallTitleText" parent="@android:style/TextAppearance.Medium">
<item name="android:textSize">10sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textStyle">bold</item>
<item name="android:typeface">sans</item>
</style>
<style name="TextAppearance.Widget.ActionBar.Title"
parent="@android:style/TextAppearance.Small">
</style>
</resources>
并在值-v21:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
</resources>