新api的重力问题

时间:2014-07-16 21:21:45

标签: android methods gravity

在以下代码中:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    layoutDirection = getLayoutDirection();
    absoluteGravity = Gravity.getAbsoluteGravity(mGravity, layoutDirection);
}

我收到此错误::

  

方法getAbsoluteGravity(int,int)未定义类型   重力

我确信我正在使用16号api进行编译。 在编辑器中,当方法窗口出现时,我看不到这种方法.....

任何想法如何解决这个问题

2 个答案:

答案 0 :(得分:0)

根据官方Android文档hereView方法getLayoutDirection()仅在API 17之后可用,而不是16,因此您会收到警告。

关于getAbsoluteGravity(),它自API 14开始提供,但它是静态的,这意味着您必须直接从Gravity类调用它。

方法签名如下:

public static int getAbsoluteGravity (int gravity, int layoutDirection)

希望能帮助你。

答案 1 :(得分:0)

您可以将ViewCompat用于getLayoutDirection() 和GravityCompat for getAbsoluteGravity()方法