如何在S3上禁用硬件菜单按钮弹出操作项?

时间:2015-05-09 20:13:56

标签: android android-layout android-actionbar android-menu android-optionsmenu

我只是在Galaxy S3上测试我的应用程序。它在手机上有一个硬件菜单按钮。

我使用一个Activity来保存一些片段,每个片段都有自己的动作栏项目要显示。它在其他手机上运行良好,只有动作栏部分,它在S3上运行良好。

我的问题是在S3上,当我点击该硬件菜单按钮时,它会弹出一个列表,其中包含片段上定义的所有当前操作项名称。弹出列表位于屏幕底部。请参阅下面的屏幕截图。

我想知道是否有办法可以禁用此行为?我希望应用程序将忽略硬件菜单按钮的单击,并让用户使用操作栏上的按钮。我已经尝试使用dispatchKeyEvent,检查KEYCOD_MENU,但似乎不起作用。

谢谢!

enter image description here

更新:

主题:

在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>

0 个答案:

没有答案