当前位置: 首页>>代码示例>>Java>>正文


Java WindowInsetsCompat.getSystemWindowInsetTop方法代码示例

本文整理汇总了Java中android.support.v4.view.WindowInsetsCompat.getSystemWindowInsetTop方法的典型用法代码示例。如果您正苦于以下问题:Java WindowInsetsCompat.getSystemWindowInsetTop方法的具体用法?Java WindowInsetsCompat.getSystemWindowInsetTop怎么用?Java WindowInsetsCompat.getSystemWindowInsetTop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v4.view.WindowInsetsCompat的用法示例。


在下文中一共展示了WindowInsetsCompat.getSystemWindowInsetTop方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
private WindowInsetsCompat setWindowInsets(WindowInsetsCompat insets) {
    boolean z = true;
    if (this.mLastInsets == insets) {
        return insets;
    }
    this.mLastInsets = insets;
    boolean z2 = insets != null && insets.getSystemWindowInsetTop() > 0;
    this.mDrawStatusBarBackground = z2;
    if (this.mDrawStatusBarBackground || getBackground() != null) {
        z = false;
    }
    setWillNotDraw(z);
    insets = dispatchApplyWindowInsetsToBehaviors(insets);
    requestLayout();
    return insets;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:17,代码来源:CoordinatorLayout.java

示例2: createWindowInsetsListener

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
/**
 * Creates and returns a listener, which allows to observe when window insets are applied to the
 * root view of the view hierarchy, which is modified by the decorator.
 *
 * @return The listener, which has been created, as an instance of the type {@link
 * OnApplyWindowInsetsListener}
 */
private OnApplyWindowInsetsListener createWindowInsetsListener() {
    return new OnApplyWindowInsetsListener() {

        @Override
        public WindowInsetsCompat onApplyWindowInsets(final View v,
                                                      final WindowInsetsCompat insets) {
            systemWindowInsets = insets.hasSystemWindowInsets() ?
                    new Rect(insets.getSystemWindowInsetLeft(),
                            insets.getSystemWindowInsetTop(),
                            insets.getSystemWindowInsetRight(),
                            insets.getSystemWindowInsetBottom()) : null;
            adaptLayoutParams();
            return insets;
        }

    };
}
 
开发者ID:michael-rapp,项目名称:AndroidMaterialDialog,代码行数:25,代码来源:MaterialDialogDecorator.java

示例3: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
private void setWindowInsets(WindowInsetsCompat insets) {
    if (mLastInsets != insets) {
        mLastInsets = insets;
        mDrawStatusBarBackground = insets != null && insets.getSystemWindowInsetTop() > 0;

        if (insets != null) {
            if (insets.isRound()) {
                if (!(mEdgeGlowTop instanceof CrescentEdgeEffect)) {
                    mEdgeGlowTop = new CrescentEdgeEffect(getContext());
                    mEdgeGlowBottom = new CrescentEdgeEffect(getContext());
                }
            } else {
                if (!(mEdgeGlowTop instanceof ClassicEdgeEffect)) {
                    mEdgeGlowTop = new ClassicEdgeEffect(getContext());
                    mEdgeGlowBottom = new ClassicEdgeEffect(getContext());
                }
            }

            mScrollBarHelper.setIsRound(insets.isRound());
        }

        setWillNotDraw(!mDrawStatusBarBackground && getBackground() == null && mEdgeGlowTop == null);
        dispatchChildApplyWindowInsets(insets);
        requestLayout();
    }
}
 
开发者ID:mobvoi,项目名称:ticdesign,代码行数:27,代码来源:CoordinatorLayout.java

示例4: applySystemWindowInsets21

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
@TargetApi(21)
private boolean applySystemWindowInsets21(WindowInsetsCompat insets) {
    boolean consumed = false;

    for (int i = 0; i < getChildCount(); i++) {
        View child = getChildAt(i);

        if (!child.getFitsSystemWindows()) {
            continue;
        }

        Rect childInsets = new Rect(
                insets.getSystemWindowInsetLeft(),
                insets.getSystemWindowInsetTop(),
                insets.getSystemWindowInsetRight(),
                insets.getSystemWindowInsetBottom());

        computeInsetsWithGravity(child, childInsets);

        ViewCompat.dispatchApplyWindowInsets(child, insets.replaceSystemWindowInsets(childInsets));

        consumed = true;
    }

    return consumed;
}
 
开发者ID:oxoooo,项目名称:earth,代码行数:27,代码来源:WindowInsetsFrameLayout.java

示例5: defaultApplySystemWindowInsets21

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
@TargetApi(21)
public boolean defaultApplySystemWindowInsets21(ViewGroup viewGroup, WindowInsetsCompat insets) {
    if (!insets.hasSystemWindowInsets()) {
        return false;
    }
    boolean consumed = false;
    boolean showKeyboard = false;
    if (insets.getSystemWindowInsetBottom() >= KEYBOARD_HEIGHT_BOUNDARY) {
        showKeyboard = true;
        QMUIViewHelper.setPaddingBottom(viewGroup, insets.getSystemWindowInsetBottom());
    } else {
        QMUIViewHelper.setPaddingBottom(viewGroup, 0);
    }

    for (int i = 0; i < viewGroup.getChildCount(); i++) {
        View child = viewGroup.getChildAt(i);

        if (jumpDispatch(child)) {
            continue;
        }

        Rect childInsets = new Rect(
                insets.getSystemWindowInsetLeft(),
                insets.getSystemWindowInsetTop(),
                insets.getSystemWindowInsetRight(),
                showKeyboard ? 0 : insets.getSystemWindowInsetBottom());

        computeInsetsWithGravity(child, childInsets);
        ViewCompat.dispatchApplyWindowInsets(child, insets.replaceSystemWindowInsets(childInsets));

        consumed = true;
    }

    return consumed;
}
 
开发者ID:coopese,项目名称:qmui,代码行数:36,代码来源:QMUIWindowInsetHelper.java

示例6: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
final WindowInsetsCompat setWindowInsets(WindowInsetsCompat insets) {
      if (!ObjectsCompat.equals(mLastInsets, insets)) {
    mLastInsets = insets;
    mDrawStatusBarBackground = insets != null && insets.getSystemWindowInsetTop() > 0;
    setWillNotDraw(!mDrawStatusBarBackground && getBackground() == null);

    // Now dispatch to the Behaviors
    insets = dispatchApplyWindowInsetsToBehaviors(insets);
    requestLayout();
  }
  return insets;
}
 
开发者ID:commonsguy,项目名称:cwac-crossport,代码行数:13,代码来源:CoordinatorLayout.java

示例7: createWindowInsetsListener

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
/**
 * Creates a listener, which allows to apply the window insets to the tab switcher's padding.
 *
 * @return The listener, which has been created, as an instance of the type {@link
 * OnApplyWindowInsetsListener}. The listener may not be nullFG
 */
@NonNull
private OnApplyWindowInsetsListener createWindowInsetsListener() {
    return new OnApplyWindowInsetsListener() {

        @Override
        public WindowInsetsCompat onApplyWindowInsets(final View v,
                                                      final WindowInsetsCompat insets) {
            int left = insets.getSystemWindowInsetLeft();
            int top = insets.getSystemWindowInsetTop();
            int right = insets.getSystemWindowInsetRight();
            int bottom = insets.getSystemWindowInsetBottom();
            tabSwitcher.setPadding(left, top, right, bottom);
            float touchableAreaTop = top;

            if (tabSwitcher.getLayout() == Layout.TABLET) {
                touchableAreaTop += getResources()
                        .getDimensionPixelSize(R.dimen.tablet_tab_container_height);
            }

            RectF touchableArea = new RectF(left, touchableAreaTop,
                    getDisplayWidth(MainActivity.this) - right, touchableAreaTop +
                    ThemeUtil.getDimensionPixelSize(MainActivity.this, R.attr.actionBarSize));
            tabSwitcher.addDragGesture(
                    new SwipeGesture.Builder().setTouchableArea(touchableArea).create());
            tabSwitcher.addDragGesture(
                    new PullDownGesture.Builder().setTouchableArea(touchableArea).create());
            return insets;
        }

    };
}
 
开发者ID:michael-rapp,项目名称:ChromeLikeTabSwitcher,代码行数:38,代码来源:MainActivity.java

示例8: dispatchApplyWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
public void dispatchApplyWindowInsets(WindowInsetsCompat insets) {
    int top = insets.getSystemWindowInsetTop();
    if (mPaddingTopDefault != top) {
        mPaddingTopDefault = top;
        if (mHeaderLayout.getChildCount() == 0) {
            mMenuView.setPadding(0, mPaddingTopDefault, 0, mMenuView.getPaddingBottom());
        }
    }
    ViewCompat.dispatchApplyWindowInsets(mHeaderLayout, insets);
}
 
开发者ID:jruesga,项目名称:rview,代码行数:11,代码来源:DrawerNavigationMenuPresenter.java

示例9: dispatchApplyWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
public void dispatchApplyWindowInsets(WindowInsetsCompat insets) {
  int top = insets.getSystemWindowInsetTop();
  if (paddingTopDefault != top) {
    paddingTopDefault = top;
    if (headerLayout.getChildCount() == 0) {
      menuView.setPadding(0, paddingTopDefault, 0, menuView.getPaddingBottom());
    }
  }
  ViewCompat.dispatchApplyWindowInsets(headerLayout, insets);
}
 
开发者ID:material-components,项目名称:material-components-android,代码行数:11,代码来源:NavigationMenuPresenter.java

示例10: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
final WindowInsetsCompat setWindowInsets(WindowInsetsCompat insets) {
  if (!ObjectsCompat.equals(lastInsets, insets)) {
    lastInsets = insets;
    drawStatusBarBackground = insets != null && insets.getSystemWindowInsetTop() > 0;
    setWillNotDraw(!drawStatusBarBackground && getBackground() == null);

    // Now dispatch to the Behaviors
    insets = dispatchApplyWindowInsetsToBehaviors(insets);
    requestLayout();
  }
  return insets;
}
 
开发者ID:material-components,项目名称:material-components-android,代码行数:13,代码来源:CoordinatorLayout.java

示例11: copyExcluded

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
@SuppressLint("RtlHardcoded")
public static WindowInsetsCompat copyExcluded(WindowInsetsCompat source, int gravity) {
    int l = (gravity & Gravity.LEFT) == Gravity.LEFT ? 0 : source.getSystemWindowInsetLeft();
    int t = (gravity & Gravity.TOP) == Gravity.TOP ? 0 : source.getSystemWindowInsetTop();
    int r = (gravity & Gravity.RIGHT) == Gravity.RIGHT ? 0 : source.getSystemWindowInsetRight();
    int b = (gravity & Gravity.BOTTOM) == Gravity.BOTTOM ? 0 : source.getSystemWindowInsetBottom();
    return source.replaceSystemWindowInsets(l, t, r, b);
}
 
开发者ID:oxoooo,项目名称:mr-mantou-android,代码行数:9,代码来源:WindowInsetsCompatUtil.java

示例12: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
private void setWindowInsets(WindowInsetsCompat insets) {
    if (this.mLastInsets != insets) {
        this.mLastInsets = insets;
        this.mDrawStatusBarBackground = insets != null && insets.getSystemWindowInsetTop() > 0;
        this.setWillNotDraw(!this.mDrawStatusBarBackground && this.getBackground() == null);
        this.requestLayout();
    }
}
 
开发者ID:brucewuu520,项目名称:Qianlichuanyin,代码行数:9,代码来源:DrawStatusLinearLayout.java

示例13: dispatchApplyWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
public void dispatchApplyWindowInsets(WindowInsetsCompat insets) {
  int top = insets.getSystemWindowInsetTop();
  if (mPaddingTopDefault != top) {
    mPaddingTopDefault = top;
    if (mHeaderLayout.getChildCount() == 0) {
      mMenuView.setPadding(0, mPaddingTopDefault, 0, mMenuView.getPaddingBottom());
    }
  }
  ViewCompat.dispatchApplyWindowInsets(mHeaderLayout, insets);
}
 
开发者ID:google,项目名称:iosched,代码行数:11,代码来源:NavigationMenuPresenter.java

示例14: setWindowInsets

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
final WindowInsetsCompat setWindowInsets(WindowInsetsCompat insets) {
  if (!objectEquals(mLastInsets, insets)) {
    mLastInsets = insets;
    mDrawStatusBarBackground = insets != null && insets.getSystemWindowInsetTop() > 0;
    setWillNotDraw(!mDrawStatusBarBackground && getBackground() == null);

    // Now dispatch to the Behaviors
    insets = dispatchApplyWindowInsetsToBehaviors(insets);
    requestLayout();
  }
  return insets;
}
 
开发者ID:google,项目名称:iosched,代码行数:13,代码来源:CoordinatorLayout.java

示例15: invalidateMenu

import android.support.v4.view.WindowInsetsCompat; //导入方法依赖的package包/类
private void invalidateMenu() {
    // Mimic CollapsingToolbarLayout's CollapsingTextHelper
    final WindowInsetsCompat mLastInsets = getLastInsets();
    final int insetTop = mLastInsets != null ? mLastInsets.getSystemWindowInsetTop() : 0;
    final int expandRange = mCollapsingToolbar.getHeight() - ViewCompat.getMinimumHeight(
            mCollapsingToolbar) - insetTop;
    final float expansionFraction = Math.abs(mLastVerticalOffset) / (float) expandRange;

    int tintColor;
    if (getExpandedTextColor() == getCollapsedTextColor())
        tintColor = getExpandedTextColor();
    else
        tintColor = ATEUtil.blendColors(getExpandedTextColor(), getCollapsedTextColor(), expansionFraction);
    if (tintColor == Color.TRANSPARENT)
        tintColor = getExpandedTextColor();

    mToolbar.setTitleTextColor(tintColor);

    // Tint navigation icon, if any
    if (mOriginalNavIcon == null)
        mOriginalNavIcon = mToolbar.getNavigationIcon();
    if (mOriginalNavIcon != null)
        mToolbar.setNavigationIcon(TintHelper.createTintedDrawable(mOriginalNavIcon, tintColor));

    // Tint action buttons
    tintMenu(mToolbar, mMenu, tintColor);

    // Tint overflow
    if (mOriginalOverflowIcon == null) {
        final ArrayList<View> overflows = new ArrayList<>();
        @SuppressLint("PrivateResource")
        final String overflowDescription = mContext.getString(R.string.abc_action_menu_overflow_description);
        mCollapsingToolbar.findViewsWithText(overflows, overflowDescription,
                View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION);
        if (!overflows.isEmpty()) {
            mOverflowView = (AppCompatImageView) overflows.get(0);
            mOriginalOverflowIcon = mOverflowView.getDrawable();
        }
    }
    if (mOverflowView != null)
        mOverflowView.setImageDrawable(TintHelper.createTintedDrawable(mOriginalOverflowIcon, tintColor));
}
 
开发者ID:RajneeshSingh007,项目名称:MusicX-music-player,代码行数:43,代码来源:ToolbarProcessor.java


注:本文中的android.support.v4.view.WindowInsetsCompat.getSystemWindowInsetTop方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。