Android常量值到常量名称(app:showAsAction =" 2")

时间:2016-09-02 12:33:15

标签: android xml

我已经反编译了一些代码,并且我试图找出与常量值一致的常量名称。在我的一个xml文件中,我看到app:showAsAction="2"。看起来像according android,这可以取值"ifRoom" | "never" | "withText" | "always" | "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>

1 个答案:

答案 0 :(得分:3)

当然可以,

您需要查看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;


    ...
}

ThisMenuItem class

源代码的链接