Example usage for android.support.v4.view GravityCompat getAbsoluteGravity

List of usage examples for android.support.v4.view GravityCompat getAbsoluteGravity

Introduction

In this page you can find the example usage for android.support.v4.view GravityCompat getAbsoluteGravity.

Prototype

public static int getAbsoluteGravity(int i, int i2) 

Source Link

Usage

From source file:com.zyk.drawerlayout.widget.DrawerLayout.java

boolean isDrawerView(View child) {
    final int gravity = ((LayoutParams) child.getLayoutParams()).gravity;
    final int absGravity = GravityCompat.getAbsoluteGravity(gravity, ViewCompat.getLayoutDirection(child));
    if ((absGravity & Gravity.LEFT) != 0) {
        // This child is a left-edge drawer
        return true;
    }//from   ww w.  j a  va2 s  . c om
    if ((absGravity & Gravity.RIGHT) != 0) {
        // This child is a right-edge drawer
        return true;
    }
    if ((absGravity & Gravity.TOP) != 0) {
        // This child is a top-edge drawer
        return true;
    }
    if ((absGravity & Gravity.BOTTOM) != 0) {
        // This child is a bottom-edge drawer
        return true;
    }
    return false;
}

From source file:android.support.v7.widget.Toolbar.java

private int getChildHorizontalGravity(int gravity) {
    final int ld = ViewCompat.getLayoutDirection(this);
    final int absGrav = GravityCompat.getAbsoluteGravity(gravity, ld);
    final int hGrav = absGrav & Gravity.HORIZONTAL_GRAVITY_MASK;
    switch (hGrav) {
    case Gravity.LEFT:
    case Gravity.RIGHT:
    case Gravity.CENTER_HORIZONTAL:
        return hGrav;
    default:/*from w  w  w .j  a va 2s  .c o  m*/
        return ld == ViewCompat.LAYOUT_DIRECTION_RTL ? Gravity.RIGHT : Gravity.LEFT;
    }
}

From source file:com.zyk.drawerlayout.widget.DrawerLayout.java

/**
 * @param size header/  ??dp/* ww  w. ja va 2s. c o m*/
 * @param gravity Gravity.LEFT add to left drawer or Gravity.RIGHT for the right or
 *                Gravity.TOP for the top or Gravity.BOTTOM for the bottom.
 *                GravityCompat.START or GravityCompat.END may also be used.
 */
public void setHeader(int size, @EdgeGravity int gravity) {
    final int absGravity = GravityCompat.getAbsoluteGravity(gravity, ViewCompat.getLayoutDirection(this));
    int s = (int) (size * density + 0.5f);
    if (absGravity == Gravity.LEFT) {
        mLeftHeader = s;
    } else if (absGravity == Gravity.TOP) {
        mTopHeader = s;
    } else if (absGravity == Gravity.RIGHT) {
        mRightHeader = s;
    } else {
        mBottomHeader = s;
    }
    invalidate();
}