Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android ActionBar compat溢出菜单未显示在sdk 10上大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您好,感谢您抽出时间阅读此问题.

我正在尝试开发一个将使用ActionBar compat库的Android应用程序.在使用COR_334_11845@pat库时,我遵循了(据我所知)所有建议.我的清单看起来像这样(只显示相关代码):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://scheR_334_11845@as.android.com/apk/res/android"        
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application            
        android:allowBACkup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@String/app_name"
        android:theme="@style/Theme.AppCompat.Light" >

    </application>

</manifest>

如你所见,我的目标是sdk 8.我已经按照建议使用了Theme.AppCompat主题.

我的菜单文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://scheR_334_11845@as.android.com/apk/res/android"
    xmlns:cds="http://scheR_334_11845@as.android.com/apk/res-auto" >

    <item
        android:id="@+id/action_map"
        android:icon="@drawable/ic_action_map"
        android@R_16_6964@="@String/action_map"
        cds:showAsAction="ifRoom"/>
    <item
        android:id="@+id/action_search"
        android:icon="@drawable/ic_action_search"
        android@R_16_6964@="@String/action_search"
        cds:showAsAction="ifRoom"/>
    <item
        android:id="@+id/action_mail"
        android:icon="@drawable/ic_action_mail"
        android@R_16_6964@="@String/action_mail"
        cds:showAsAction="ifRoom"/>

</menu>

我使用自己的命名空间作为showAsAction属性.

我的活动扩展了ActionBarActivity类.

问题是:在设备和模拟器上的sdk 10(android 2.3.3)上,溢出菜单(操作栏右侧的三个点)未显示.操作栏上仅显示前两个菜单项.如果我按下设备上的“菜单”按钮,则第三项显示在屏幕的左下角(而不是从右上角显示,因为在具有更新的Android版本的设备上).相同的代码在模拟器上的android sdk 17上运行良好(溢出菜单显示正确的操作).

我在网上搜索一个解决方案,但我找不到具有这个特定问题的解决方案.如果我没有在Android 2.3.3设备上安装具有相同操作栏并且显示溢出菜单图标并且在任何最近的Android设备上正常工作的应用程序,我会放弃该问题.这个应用程序的一个例子是todoist app(https://en.todoist.com/android)或handcent app(https://play.google.com/store/apps/details?id=com.handcent.nextsms&hl=en),它们在这个设备上表现都很好.

我有什么遗漏或是否有使用actionbar compat的推荐方法的替代解决方案?

感谢您的时间.

@R_301_1964@

@Andrei Google已禁用pre honycomb中appcompat中的菜单溢出按钮.
如果你真的想添加它,请转到android的github存储库并下载
platform_frameworks_support.它包含platform_framework_support_master / v7 / appcompat中appcompat的含义.

在appcompat中创建一个libs文件夹并放入最新的android-support-v4.jar.
现在打开文件v7 / appcompat / src / android / support / v7 / internal / view / ActionBarPolicy.java.
您将看到showOverflowMenuButton对于pre honycomb返回false.请返回true并将此已编辑的appcompat作为库添加项目中
而且您不需要任何自定义溢出按钮
这对我有用.
对不起我的英语不好

编辑:来自android / support / v7 / internal / view / ActionBarPolicy.java的实际代码

public Boolean showsOverflowMenuButton() {
    // Only show overflow on HC+ devices
    return Build.VERSION.SDK_INT >= Build.VERSION_CODEs.HONEYCOMB;
}

大佬总结

以上是大佬教程为你收集整理的Android ActionBar compat溢出菜单未显示在sdk 10上全部内容,希望文章能够帮你解决Android ActionBar compat溢出菜单未显示在sdk 10上所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。