我已经反编译了一些代码,并且我试图找出与常量值一致的常量名称。在我的一个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>
答案 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;
...
}
This是MenuItem
class