Example usage for android.view View getLayerType

List of usage examples for android.view View getLayerType

Introduction

In this page you can find the example usage for android.view View getLayerType.

Prototype

public int getLayerType() 

Source Link

Document

Indicates what type of layer is currently associated with this view.

Usage

From source file:Main.java

/**
 * Method that removes the support for HardwareAcceleration from a {@link View}.<br/>
 * <br/>/*from w w w.ja  v  a  2 s.  c o m*/
 * Check AOSP notice:<br/>
 * <pre>
 * 'ComposeShader can only contain shaders of different types (a BitmapShader and a
 * LinearGradient for instance, but not two instances of BitmapShader)'. But, 'If your
 * application is affected by any of these missing features or limitations, you can turn
 * off hardware acceleration for just the affected portion of your application by calling
 * setLayerType(View.LAYER_TYPE_SOFTWARE, null).'</pre>
 *
 * @param v The view
 */
public static void removeHardwareAccelerationSupport(View v) {
    if (v.getLayerType() != View.LAYER_TYPE_SOFTWARE) {
        v.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
}

From source file:com.insalyon.les24heures.JazzyViewPager.JazzyViewPager.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void disableHardwareLayer() {
    if (!API_11)//from  ww  w  .ja  v a2s .  com
        return;
    View v;
    for (int i = 0; i < getChildCount(); i++) {
        v = getChildAt(i);
        if (v.getLayerType() != View.LAYER_TYPE_NONE)
            v.setLayerType(View.LAYER_TYPE_NONE, null);
    }
}

From source file:metro.k.cover.view.JazzyViewPager.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void disableHardwareLayer() {
    View v;
    for (int i = 0; i < getChildCount(); i++) {
        v = getChildAt(i);//from w w  w .j  a  va  2s. c  o m
        if (v != null && v.getLayerType() != View.LAYER_TYPE_NONE) {
            v.setLayerType(View.LAYER_TYPE_NONE, null);
        }
    }
}

From source file:metro.k.cover.view.JazzyViewPager.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void manageLayer(View v, boolean enableHardware) {
    final int layerType = enableHardware ? View.LAYER_TYPE_HARDWARE : View.LAYER_TYPE_NONE;
    if (layerType != v.getLayerType()) {
        v.setLayerType(layerType, null);
    }//w w w .j a v  a 2  s  . c  om
}

From source file:com.insalyon.les24heures.JazzyViewPager.JazzyViewPager.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void manageLayer(View v, boolean enableHardware) {
    if (!API_11)//from w  w w  .ja va2  s.  co m
        return;
    int layerType = enableHardware ? View.LAYER_TYPE_HARDWARE : View.LAYER_TYPE_NONE;
    if (layerType != v.getLayerType())
        v.setLayerType(layerType, null);
}

From source file:com.bartoszlipinski.viewpropertyobjectanimator.ViewPropertyObjectAnimator.java

@SuppressLint("NewApi")
public ObjectAnimator get() {
    if (hasView()) {
        Collection<PropertyValuesHolder> holders = mPropertyHoldersMap.values();
        ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(mView.get(),
                holders.toArray(new PropertyValuesHolder[holders.size()]));
        if (mWithLayer) {
            animator.addListener(new AnimatorListenerAdapter() {
                int mCurrentLayerType = View.LAYER_TYPE_NONE;

                @Override//from   w  w  w.  j a v a 2 s  .c  o  m
                public void onAnimationStart(Animator animation) {
                    if (hasView()) {
                        View view = mView.get();
                        mCurrentLayerType = view.getLayerType();
                        view.setLayerType(View.LAYER_TYPE_HARDWARE, null);
                        if (ViewCompat.isAttachedToWindow(view)) {
                            view.buildLayer();
                        }
                    }
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    if (hasView()) {
                        mView.get().setLayerType(mCurrentLayerType, null);
                    }
                }
            });
        }
        if (mStartDelay != -1) {
            animator.setStartDelay(mStartDelay);
        }
        if (mDuration != -1) {
            animator.setDuration(mDuration);
        }
        if (mInterpolator != null) {
            animator.setInterpolator(mInterpolator);
        }
        for (Animator.AnimatorListener listener : mListeners) {
            animator.addListener(listener);
        }
        if (mMarginListener != null) {
            animator.addUpdateListener(mMarginListener);
        }
        if (mDimensionListener != null) {
            animator.addUpdateListener(mDimensionListener);
        }
        if (mPaddingListener != null) {
            animator.addUpdateListener(mPaddingListener);
        }
        if (mScrollListener != null) {
            animator.addUpdateListener(mScrollListener);
        }
        if (mPercentListener != null) {
            animator.addUpdateListener(mPercentListener);
        }
        for (ValueAnimator.AnimatorUpdateListener listener : mUpdateListeners) {
            animator.addUpdateListener(listener);
        }
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            for (Animator.AnimatorPauseListener listener : mPauseListeners) {
                animator.addPauseListener(listener);
            }
        }
        return animator;
    }
    return ObjectAnimator.ofFloat(null, View.ALPHA, 1, 1);
}

From source file:com.phonemetra.turbo.launcher.AsyncTaskCallback.java

private void enableHwLayersOnVisiblePages() {
    final int screenCount = getChildCount();

    getVisiblePages(mTempVisiblePagesRange);
    int leftScreen = mTempVisiblePagesRange[0];
    int rightScreen = mTempVisiblePagesRange[1];
    int forceDrawScreen = -1;
    if (leftScreen == rightScreen) {
        // make sure we're caching at least two pages always
        if (rightScreen < screenCount - 1) {
            rightScreen++;/*from www .  j  ava 2 s. c o m*/
            forceDrawScreen = rightScreen;
        } else if (leftScreen > 0) {
            leftScreen--;
            forceDrawScreen = leftScreen;
        }
    } else {
        forceDrawScreen = leftScreen + 1;
    }

    for (int i = 0; i < screenCount; i++) {
        final View layout = (View) getPageAt(i);
        boolean enableLayer = leftScreen <= i && i <= rightScreen
                && (i == forceDrawScreen || shouldDrawChild(layout));
        if (layout instanceof CellLayout) {
            ((CellLayout) layout).enableHardwareLayer(enableLayer);
        } else if (enableLayer) {
            if (layout.getLayerType() != LAYER_TYPE_HARDWARE) {
                layout.setLayerType(LAYER_TYPE_HARDWARE, null);
            }
        } else {
            layout.setLayerType(LAYER_TYPE_NONE, null);
        }
    }
}

From source file:com.zyk.launcher.AsyncTaskCallback.java

public void enableHwLayersOnVisiblePages() {
    final int screenCount = getChildCount();

    getVisiblePages(mTempVisiblePagesRange);
    int leftScreen = mTempVisiblePagesRange[0];
    int rightScreen = mTempVisiblePagesRange[1];
    int forceDrawScreen = -1;
    if (leftScreen == rightScreen) {
        // make sure we're caching at least two pages always
        if (rightScreen < screenCount - 1) {
            rightScreen++;/*from   ww  w. j a v a2s.c  o m*/
            forceDrawScreen = rightScreen;
        } else if (leftScreen > 0) {
            leftScreen--;
            forceDrawScreen = leftScreen;
        }
    } else {
        forceDrawScreen = leftScreen + 1;
    }

    for (int i = 0; i < screenCount; i++) {
        final View layout = (View) getPageAt(i);
        if (!(leftScreen <= i && i <= rightScreen && (i == forceDrawScreen || shouldDrawChild(layout)))) {
            layout.setLayerType(LAYER_TYPE_NONE, null);
        }
    }

    for (int i = 0; i < screenCount; i++) {
        final View layout = (View) getPageAt(i);

        if (leftScreen <= i && i <= rightScreen && (i == forceDrawScreen || shouldDrawChild(layout))) {
            if (layout.getLayerType() != LAYER_TYPE_HARDWARE) {
                layout.setLayerType(LAYER_TYPE_HARDWARE, null);
            }
        }
    }
}