微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android常数值至常数名称(app:showAsAction =“ 2”)

我已经反编译了一些代码,并且试图找出与常量值一起出现的常量名称.在我的一个xml文件中,我看到了app:showAsAction =“ 2”.看起来像是according android,它可以取值“ ifRoom” | “从不” | “ withText” | “总是” | “ collapseActionView”但是我如何找出哪一个呢?有时我可以在网上找到对常量值-名称映射的引用,但有时却找不到.有办法确定吗?

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:icon="@drawable/my_drawable" android:enabled="false" android:title="my title" app:showAsAction="2"></item>
</menu>

解决方法:

你当然可以,

您需要查看android.view.MenuItem的源代码.在那里定义了许多常量,包括您需要的常量.

public static final int SHOW_AS_ACTION_ALWAYS = 2;

这是android.view.MenuItem接口的来源,

public interface MenuItem {
    /*
     * These should be kept in sync with attrs.xml enum constants for showAsAction
     */
    /** Never show this item as a button in an Action Bar. */
    public static final int SHOW_AS_ACTION_NEVER = 0;
    /** Show this item as a button in an Action Bar if the system decides there is room for it. */
    public static final int SHOW_AS_ACTION_IF_ROOM = 1;
    /**
     * Always show this item as a button in an Action Bar.
     * Use sparingly! If too many items are set to always show in the Action Bar it can
     * crowd the Action Bar and degrade the user experience on devices with smaller screens.
     * A good rule of thumb is to have no more than 2 items set to always show at a time.
     */
    public static final int SHOW_AS_ACTION_ALWAYS = 2;

    /**
     * When this item is in the action bar, always show it with a text label even if
     * it also has an icon specified.
     */
    public static final int SHOW_AS_ACTION_WITH_TEXT = 4;

    /**
     * This item's action view collapses to a normal menu item.
     * When expanded, the action view temporarily takes over
     * a larger segment of its container.
     */
    public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8;


    ...
}

This链接到MenuItem类的源代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。