/** * Returns true if view's layout direction is right-to-left. * * @param view the View whose layout is being considered */ public static boolean isLayoutRtl(View view) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { return view.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; } else { // All layouts are LTR before JB MR1. return false; } }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) private int getViewLayoutDirection(final View view) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { switch (view.getLayoutDirection()) { case View.LAYOUT_DIRECTION_LTR: return 1; case View.LAYOUT_DIRECTION_RTL: return -1; } // final int dir = view.getTextDirection(); // switch (dir) { // case View.TEXT_DIRECTION_INHERIT: return 0; // case View.TEXT_DIRECTION_FIRST_STRONG: return 0; // case View.TEXT_DIRECTION_ANY_RTL: return -1; // case View.TEXT_DIRECTION_LTR: return 1; // case View.TEXT_DIRECTION_RTL: return -1; // case View.TEXT_DIRECTION_LOCALE: return 0; // case View.TEXT_DIRECTION_FIRST_STRONG_LTR: return 1; // case View.TEXT_DIRECTION_FIRST_STRONG_RTL: return -1; // } } return 1; }