FileDocCategorySizeDatePackage
ViewUtils.javaAPI DocAndroid 5.1 API3966Thu Mar 12 22:22:56 GMT 2015android.support.v7.internal.widget

ViewUtils

public class ViewUtils extends Object
hide

Fields Summary
private static final String
TAG
private static Method
sComputeFitSystemWindowsMethod
Constructors Summary
private ViewUtils()


     
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            try {
                sComputeFitSystemWindowsMethod = View.class.getDeclaredMethod(
                        "computeFitSystemWindows", Rect.class, Rect.class);
                if (!sComputeFitSystemWindowsMethod.isAccessible()) {
                    sComputeFitSystemWindowsMethod.setAccessible(true);
                }
            } catch (NoSuchMethodException e) {
                Log.d(TAG, "Could not find method computeFitSystemWindows. Oh well.");
            }
        }
    
Methods Summary
public static intcombineMeasuredStates(int curState, int newState)
Merge two states as returned by {@link ViewCompat#getMeasuredState(android.view.View)} ()}.

param
curState The current state as returned from a view or the result of combining multiple views.
param
newState The new view state to combine.
return
Returns a new integer reflecting the combination of the two states.

        return curState | newState;
    
public static voidcomputeFitSystemWindows(android.view.View view, android.graphics.Rect inoutInsets, android.graphics.Rect outLocalInsets)
Allow calling the hidden method {@code computeFitSystemWindows(Rect, Rect)} through reflection on {@code view}.

        if (sComputeFitSystemWindowsMethod != null) {
            try {
                sComputeFitSystemWindowsMethod.invoke(view, inoutInsets, outLocalInsets);
            } catch (Exception e) {
                Log.d(TAG, "Could not invoke computeFitSystemWindows", e);
            }
        }
    
public static booleanisLayoutRtl(android.view.View view)

        return ViewCompat.getLayoutDirection(view) == ViewCompat.LAYOUT_DIRECTION_RTL;
    
public static voidmakeOptionalFitsSystemWindows(android.view.View view)
Allow calling the hidden method {@code makeOptionalFitsSystem()} through reflection on {@code view}.

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            try {
                // We need to use getMethod() for makeOptionalFitsSystemWindows since both View
                // and ViewGroup implement the method
                Method method = view.getClass().getMethod("makeOptionalFitsSystemWindows");
                if (!method.isAccessible()) {
                    method.setAccessible(true);
                }
                method.invoke(view);
            } catch (NoSuchMethodException e) {
                Log.d(TAG, "Could not find method makeOptionalFitsSystemWindows. Oh well...");
            } catch (InvocationTargetException e) {
                Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e);
            } catch (IllegalAccessException e) {
                Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e);
            }
        }