當前位置: 首頁>>代碼示例>>Java>>正文


Java ViewCompat.setFitsSystemWindows方法代碼示例

本文整理匯總了Java中android.support.v4.view.ViewCompat.setFitsSystemWindows方法的典型用法代碼示例。如果您正苦於以下問題:Java ViewCompat.setFitsSystemWindows方法的具體用法?Java ViewCompat.setFitsSystemWindows怎麽用?Java ViewCompat.setFitsSystemWindows使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.support.v4.view.ViewCompat的用法示例。


在下文中一共展示了ViewCompat.setFitsSystemWindows方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: i

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
private void i() {
    // Add a dummy view that will receive inner touch events.
    View dummyView = new View(getContext());
    DummyBehavior dummyBehavior = new DummyBehavior();
    // I *think* this is needed for dummyView to be identified as "topmost" and receive events
    // before any other view.
    ViewCompat.setElevation(dummyView, ViewCompat.getElevation(this));
    // Make sure it does not fit windows, or it will consume insets before the AppBarLayout.
    ViewCompat.setFitsSystemWindows(dummyView, false);
    LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT);
    params.setBehavior(dummyBehavior);
    addView(dummyView, params);
    // Wait to get our own behavior.
    getViewTreeObserver().addOnGlobalLayoutListener(this);
}
 
開發者ID:natario1,項目名稱:BottomSheetCoordinatorLayout,代碼行數:17,代碼來源:BottomSheetCoordinatorLayout.java

示例2: translucentStatusBar

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
static void translucentStatusBar(Activity activity, boolean hideStatusBarBackground) {
    Window window = activity.getWindow();
    //添加Flag把狀態欄設為可繪製模式
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    if (hideStatusBarBackground) {
        //如果為全透明模式,取消設置Window半透明的Flag
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //設置狀態欄為透明
        window.setStatusBarColor(Color.TRANSPARENT);
        //設置window的狀態欄不可見
        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
    } else {
        //如果為半透明模式,添加設置Window半透明的Flag
        window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //設置係統狀態欄處於可見狀態
        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
    }
    //view不根據係統窗口來調整自己的布局
    ViewGroup mContentView = (ViewGroup) window.findViewById(Window.ID_ANDROID_CONTENT);
    View mChildView = mContentView.getChildAt(0);
    if (mChildView != null) {
        ViewCompat.setFitsSystemWindows(mChildView, false);
        ViewCompat.requestApplyInsets(mChildView);
    }
}
 
開發者ID:bigjelly,項目名稱:AndFast,代碼行數:26,代碼來源:EyesLollipop.java

示例3: setStatusBarColor

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
/**
 * set StatusBarColor
 */
public static void setStatusBarColor(Activity activity, int statusColor) {
    Window window = activity.getWindow();

    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(statusColor);
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);

    ViewGroup mContentView = (ViewGroup) window.findViewById(Window.ID_ANDROID_CONTENT);
    View mChildView = mContentView.getChildAt(0);
    if (mChildView != null) {
        ViewCompat.setOnApplyWindowInsetsListener(mChildView, new OnApplyWindowInsetsListener() {
            @Override
            public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
                return insets;
            }
        });
        ViewCompat.setFitsSystemWindows(mChildView, true);
        ViewCompat.requestApplyInsets(mChildView);
    }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:25,代碼來源:StatusBarCompatLollipop.java

示例4: onMeasureChild

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
public boolean onMeasureChild(CoordinatorLayout parent, View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed) {
    int childLpHeight = child.getLayoutParams().height;
    if (childLpHeight == -1 || childLpHeight == -2) {
        View header = findFirstDependency(parent.getDependencies(child));
        if (header != null) {
            if (ViewCompat.getFitsSystemWindows(header) && !ViewCompat.getFitsSystemWindows(child)) {
                ViewCompat.setFitsSystemWindows(child, true);
                if (ViewCompat.getFitsSystemWindows(child)) {
                    child.requestLayout();
                    return true;
                }
            }
            if (ViewCompat.isLaidOut(header)) {
                int availableHeight = MeasureSpec.getSize(parentHeightMeasureSpec);
                if (availableHeight == 0) {
                    availableHeight = parent.getHeight();
                }
                parent.onMeasureChild(child, parentWidthMeasureSpec, widthUsed, MeasureSpec.makeMeasureSpec((availableHeight - header.getMeasuredHeight()) + getScrollRange(header), childLpHeight == -1 ? 1073741824 : Integer.MIN_VALUE), heightUsed);
                return true;
            }
        }
    }
    return false;
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:25,代碼來源:HeaderScrollingViewBehavior.java

示例5: forceFitsSystemWindows

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
/**
 * 強製rootView下麵的子View的FitsSystemWindows為false
 */
public static void forceFitsSystemWindows(ViewGroup viewGroup) {

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    int count = viewGroup.getChildCount();
    for (int i = 0; i < count; i++) {
      View view = viewGroup.getChildAt(i);
      if (view instanceof ViewGroup) {
        forceFitsSystemWindows((ViewGroup) view);
      } else {
        if (ViewCompat.getFitsSystemWindows(view)) {
          ViewCompat.setFitsSystemWindows(view, false);
        }
      }
    }
  }
}
 
開發者ID:MUFCRyan,項目名稱:BilibiliClient,代碼行數:20,代碼來源:SystemBarHelper.java

示例6: onAttachedToWindow

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    // Add an OnOffsetChangedListener if possible
    final ViewParent parent = getParent();
    if (parent instanceof AppBarLayout) {
        // Copy over from the ABL whether we should fit system windows
        ViewCompat.setFitsSystemWindows(this, ViewCompat.getFitsSystemWindows((View) parent));

        if (mOnOffsetChangedListener == null) {
            mOnOffsetChangedListener = new OffsetUpdateListener();
        }
        ((AppBarLayout) parent).addOnOffsetChangedListener(mOnOffsetChangedListener);

        // We're attached, so lets request an inset dispatch
        ViewCompat.requestApplyInsets(this);
    }
}
 
開發者ID:QMUI,項目名稱:QMUI_Android,代碼行數:20,代碼來源:QMUICollapsingTopBarLayout.java

示例7: onLayoutChild

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
@Override
public boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirection) {
    // First let the parent lay it out
    if (mState != STATE_DRAGGING && mState != STATE_SETTLING) {
        if (ViewCompat.getFitsSystemWindows(parent) &&
                !ViewCompat.getFitsSystemWindows(child)) {
            ViewCompat.setFitsSystemWindows(child, true);
        }
        parent.onLayoutChild(child, layoutDirection);
    }
    // Offset the bottom sheet
    mParentHeight = parent.getHeight();
    mMinOffset = Math.max(0, mParentHeight - child.getHeight());
    mMaxOffset = Math.max(mParentHeight - mPeekHeight, mMinOffset);

    /**
     * New behavior
     */
    if (mState == STATE_ANCHOR_POINT) {
        ViewCompat.offsetTopAndBottom(child, mAnchorPoint);
    } else if (mState == STATE_EXPANDED) {
        ViewCompat.offsetTopAndBottom(child, mMinOffset);
    } else if (mHideable && mState == STATE_HIDDEN) {
        ViewCompat.offsetTopAndBottom(child, mParentHeight);
    } else if (mState == STATE_COLLAPSED) {
        ViewCompat.offsetTopAndBottom(child, mMaxOffset);
    }
    if (mViewDragHelper == null) {
        mViewDragHelper = ViewDragHelper.create(parent, mDragCallback);
    }
    mViewRef = new WeakReference<>(child);
    mNestedScrollingChildRef = new WeakReference<>(findScrollingChild(child));
    return true;
}
 
開發者ID:aliumujib,項目名稱:Nibo,代碼行數:35,代碼來源:BottomSheetBehaviorGoogleMapsLike.java

示例8: setStatusBarLightMode

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
public static void setStatusBarLightMode(Activity activity, int color) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        //判斷是否為小米或魅族手機,如果是則將狀態欄文字改為黑色
        if (MIUISetStatusBarLightMode(activity, true) || FlymeSetStatusBarLightMode(activity, true)) {
            //設置狀態欄為指定顏色
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0
                activity.getWindow().setStatusBarColor(color);
            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4
                //調用修改狀態欄顏色的方法
                setStatusBarColor(activity, color);
            }
        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            //如果是6.0以上將狀態欄文字改為黑色,並設置狀態欄顏色
            activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
            activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
            activity.getWindow().setStatusBarColor(color);

            //fitsSystemWindow 為 false, 不預留係統欄位置.
            ViewGroup mContentView = (ViewGroup) activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
            View mChildView = mContentView.getChildAt(0);
            if (mChildView != null) {
                ViewCompat.setFitsSystemWindows(mChildView, true);
                ViewCompat.requestApplyInsets(mChildView);
            }
        }
    }
}
 
開發者ID:bigjelly,項目名稱:ShaddockVideoPlayer,代碼行數:28,代碼來源:Eyes.java

示例9: i

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
private void i() {
    helper = new NestedScrollingChildHelper(this);
    setNestedScrollingEnabled(true);
    // Add a dummy view that will receive inner touch events.
    View dummyView = new View(getContext());
    dummyBehavior = new DummyBehavior();
    // I *think* this is needed for dummyView to be identified as "topmost" and receive events
    // before any other view.
    ViewCompat.setElevation(dummyView, ViewCompat.getElevation(this));
    // Make sure it does not fit windows, or it will consume insets before the AppBarLayout.
    ViewCompat.setFitsSystemWindows(dummyView, false);
    LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    params.setBehavior(dummyBehavior);
    addView(dummyView, params);
}
 
開發者ID:natario1,項目名稱:NestedScrollCoordinatorLayout,代碼行數:16,代碼來源:NestedScrollCoordinatorLayout.java

示例10: setStatusBarColorForCollapsingToolbar

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
/**
 * compat for CollapsingToolbarLayout
 */
public static void setStatusBarColorForCollapsingToolbar(Activity activity, final AppBarLayout appBarLayout, CollapsingToolbarLayout collapsingToolbarLayout,
                                                         Toolbar toolbar, int statusColor) {
    Window window = activity.getWindow();

    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);

    ViewGroup mContentView = (ViewGroup) window.findViewById(Window.ID_ANDROID_CONTENT);
    View mChildView = mContentView.getChildAt(0);
    if (mChildView != null) {
        ViewCompat.setOnApplyWindowInsetsListener(mChildView, new OnApplyWindowInsetsListener() {
            @Override
            public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
                return insets;
            }
        });
        ViewCompat.setFitsSystemWindows(mChildView, true);
        ViewCompat.requestApplyInsets(mChildView);
    }

    ((View) appBarLayout.getParent()).setFitsSystemWindows(true);
    appBarLayout.setFitsSystemWindows(true);
    collapsingToolbarLayout.setFitsSystemWindows(true);
    collapsingToolbarLayout.getChildAt(0).setFitsSystemWindows(true);
    toolbar.setFitsSystemWindows(false);

    collapsingToolbarLayout.setStatusBarScrimColor(statusColor);
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:34,代碼來源:StatusBarCompatLollipop.java

示例11: onLayoutChild

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
@Override
public boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirection) {
  if (ViewCompat.getFitsSystemWindows(parent) && !ViewCompat.getFitsSystemWindows(child)) {
    ViewCompat.setFitsSystemWindows(child, true);
  }
  int savedTop = child.getTop();
  // First let the parent lay it out
  parent.onLayoutChild(child, layoutDirection);
  // Offset the bottom sheet
  mParentHeight = parent.getHeight();
  int peekHeight;
  if (mPeekHeightAuto) {
    if (mPeekHeightMin == 0) {
              mPeekHeightMin = parent.getResources().getDimensionPixelSize(
                      R.dimen.design_bottom_sheet_peek_height_min);
    }
    peekHeight = Math.max(mPeekHeightMin, mParentHeight - parent.getWidth() * 9 / 16);
  } else {
    peekHeight = mPeekHeight;
  }
  mMinOffset = Math.max(0, mParentHeight - child.getHeight());
  mMaxOffset = Math.max(mParentHeight - peekHeight, mMinOffset);
  if (mState == STATE_EXPANDED) {
    ViewCompat.offsetTopAndBottom(child, mMinOffset);
  } else if (mHideable && mState == STATE_HIDDEN) {
    ViewCompat.offsetTopAndBottom(child, mParentHeight);
  } else if (mState == STATE_COLLAPSED) {
    ViewCompat.offsetTopAndBottom(child, mMaxOffset);
  } else if (mState == STATE_DRAGGING || mState == STATE_SETTLING) {
    ViewCompat.offsetTopAndBottom(child, savedTop - child.getTop());
  }
  if (mViewDragHelper == null) {
    mViewDragHelper = ViewDragHelper.create(parent, mDragCallback);
  }
  mViewRef = new WeakReference<>(child);
  mNestedScrollingChildRef = new WeakReference<>(findScrollingChild(child));
  return true;
}
 
開發者ID:commonsguy,項目名稱:cwac-crossport,代碼行數:39,代碼來源:BottomSheetBehavior.java

示例12: tintStatusBar

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
public static void tintStatusBar(Activity activity, @ColorInt int statusBarColor, @FloatRange(from = 0.0, to = 1.0) float alpha) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
            return;
        }
        Window window = activity.getWindow();
        ViewGroup decorView = (ViewGroup) window.getDecorView();
        ViewGroup contentView = (ViewGroup) window.getDecorView().findViewById(Window.ID_ANDROID_CONTENT);
        View rootView = contentView.getChildAt(0);
        if (rootView != null && !ViewCompat.getFitsSystemWindows(rootView)) {
            ViewCompat.setFitsSystemWindows(rootView, true);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//            window.setStatusBarColor(Color.TRANSPARENT);
            window.getDecorView().setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            if (statusBarColor != COLOR_INVALID_VAL) {
                window.setStatusBarColor(statusBarColor);
            }
        } else {
            window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            setStatusBar(decorView, statusBarColor, true);
            setTranslucentView(decorView, alpha);
        }


    }
 
開發者ID:liuke2016,項目名稱:filepicker,代碼行數:29,代碼來源:Util.java

示例13: onLayoutChild

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
@Override
public boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirection) {
    if (ViewCompat.getFitsSystemWindows(parent) && !ViewCompat.getFitsSystemWindows(child)) {
        ViewCompat.setFitsSystemWindows(child, true);
    }
    int savedTop = child.getTop();
    // First let the parent lay it out
    parent.onLayoutChild(child, layoutDirection);
    // Offset the bottom sheet
    mParentHeight = parent.getHeight();
    int peekHeight;
    if (mPeekHeightAuto) {
        if (mPeekHeightMin == 0) {
            mPeekHeightMin = parent.getResources().getDimensionPixelSize(
                    R.dimen.design_bottom_sheet_peek_height_min);
        }
        peekHeight = Math.max(mPeekHeightMin, mParentHeight - parent.getWidth() * 9 / 16);
    } else {
        peekHeight = mPeekHeight;
    }
    mMinOffset = Math.max(0, mParentHeight - child.getHeight());
    mMaxOffset = Math.max(mParentHeight - peekHeight, mMinOffset);
    if (mState == STATE_EXPANDED) {
        ViewCompat.offsetTopAndBottom(child, mMinOffset);
    } else if (mHideable && mState == STATE_HIDDEN) {
        ViewCompat.offsetTopAndBottom(child, mParentHeight);
    } else if (mState == STATE_COLLAPSED) {
        ViewCompat.offsetTopAndBottom(child, mMaxOffset);
    } else if (mState == STATE_DRAGGING || mState == STATE_SETTLING) {
        ViewCompat.offsetTopAndBottom(child, savedTop - child.getTop());
    }
    if (mViewDragHelper == null) {
        mViewDragHelper = ViewDragHelper.create(parent, mDragCallback);
    }
    mViewRef = new WeakReference<>(child);
    mNestedScrollingChildRef = new WeakReference<>(findScrollingChild(child));
    return true;
}
 
開發者ID:Krupen,項目名稱:FabulousFilter,代碼行數:39,代碼來源:ViewPagerBottomSheetBehavior.java

示例14: tintStatusBar

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
/**
 * Android4.4以上的狀態欄著色
 *
 * @param window 一般都是用於Activity的window,也可以是其他的例如Dialog,DialogFragment
 * @param statusBarColor 狀態欄顏色
 * @param alpha 透明欄透明度[0.0-1.0]
 */
public static void tintStatusBar(Window window,
                                 @ColorInt int statusBarColor,
                                 @FloatRange(from = 0.0, to = 1.0) float alpha) {

  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
    return;
  }

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);
  } else {
    window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
  }

  ViewGroup decorView = (ViewGroup) window.getDecorView();
  ViewGroup contentView = (ViewGroup) window.getDecorView()
      .findViewById(Window.ID_ANDROID_CONTENT);
  View rootView = contentView.getChildAt(0);
  if (rootView != null) {
    ViewCompat.setFitsSystemWindows(rootView, true);
  }

  setStatusBar(decorView, statusBarColor, true);
  setTranslucentView(decorView, alpha);
}
 
開發者ID:MUFCRyan,項目名稱:BilibiliClient,代碼行數:35,代碼來源:SystemBarHelper.java

示例15: immersiveStatusBar

import android.support.v4.view.ViewCompat; //導入方法依賴的package包/類
/**
 * Android4.4以上的沉浸式全屏模式
 * 注:
 * 1.刪除fitsSystemWindows屬性:Android5.0以上使用該方法如果出現界麵展示不正確,刪除布局中所有fitsSystemWindows屬性
 * 或者調用forceFitsSystemWindows方法
 * 2.不刪除fitsSystemWindows屬性:也可以區別處理,Android5.0以上使用自己的方式實現,不調用該方法
 *
 * @param window 一般都是用於Activity的window,也可以是其他的例如Dialog,DialogFragment
 * @param alpha 透明欄透明度[0.0-1.0]
 */
public static void immersiveStatusBar(Window window,
                                      @FloatRange(from = 0.0, to = 1.0) float alpha) {

  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
    return;
  }

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.TRANSPARENT);

    int systemUiVisibility = window.getDecorView().getSystemUiVisibility();
    systemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
    systemUiVisibility |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    window.getDecorView().setSystemUiVisibility(systemUiVisibility);
  } else {
    window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
  }

  ViewGroup decorView = (ViewGroup) window.getDecorView();
  ViewGroup contentView = (ViewGroup) window.getDecorView()
      .findViewById(Window.ID_ANDROID_CONTENT);
  View rootView = contentView.getChildAt(0);
  int statusBarHeight = getStatusBarHeight(window.getContext());
  if (rootView != null) {
    FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) rootView.getLayoutParams();
    ViewCompat.setFitsSystemWindows(rootView, true);
    lp.topMargin = -statusBarHeight;
    rootView.setLayoutParams(lp);
  }

  setTranslucentView(decorView, alpha);
}
 
開發者ID:MUFCRyan,項目名稱:BilibiliClient,代碼行數:45,代碼來源:SystemBarHelper.java


注:本文中的android.support.v4.view.ViewCompat.setFitsSystemWindows方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。