无法调用ViewDebug.ExportedProperty方法

时间:2013-10-04 01:04:30

标签: java android

我是Android和Java的新手并且不懂东西。 View类中有公共方法,前缀为@ViewDebug.ExportedProperty(category = "layout")。例如:

@ViewDebug.ExportedProperty(category = "layout")
public boolean isLayoutRtl() {
    return (getLayoutDirection() == LAYOUT_DIRECTION_RTL);
}

为什么从View派生的Android类可以调用这些公共方法,但另一个包中的类(如我的)也是从View派生的,看不到这些公共方法?

1 个答案:

答案 0 :(得分:0)

检查整个方法,包括评论。

/**
 * Indicates whether or not this view's layout is right-to-left. This is resolved from
 * layout attribute and/or the inherited value from the parent
 *
 * @return true if the layout is right-to-left.
 *
 * @hide
 */
@ViewDebug.ExportedProperty(category = "layout")
public boolean isLayoutRtl() {
    return (getLayoutDirection() == LAYOUT_DIRECTION_RTL);
}

有一个@hide注释,这意味着该方法不属于公共Android API。

幸运的是,方向常数和getLayoutDirection()已经公开发布。在您自己的实现中复制此方法是微不足道的。