提交 9f989aba 编写于 作者: B Blankj

see 07/29 log

上级 80f66e7b
......@@ -58,7 +58,7 @@ public class ImageActivity extends BaseBackActivity {
ImageView ivAddImageWatermark = (ImageView) findViewById(R.id.iv_add_image_watermark);
ImageView ivGray = (ImageView) findViewById(R.id.iv_gray);
Bitmap src = ImageUtils.getBitmap(R.drawable.lena);
Bitmap src = ImageUtils.getBitmap(R.drawable.img_lena);
Bitmap watermark = ImageUtils.getBitmap(R.mipmap.ic_launcher);
SizeUtils.forceGetViewSize(ivSrc, new SizeUtils.onGetSizeListener() {
......@@ -71,7 +71,7 @@ public class ImageActivity extends BaseBackActivity {
ivRoundCorner.setImageBitmap(ImageUtils.toRoundCorner(src, 60));
ivFastBlur.setImageBitmap(ImageUtils.fastBlur(src, 0.1f, 5));
ivRenderScriptBlur.setImageBitmap(ImageUtils.renderScriptBlur(src, 10));
src = ImageUtils.getBitmap(R.drawable.lena);
src = ImageUtils.getBitmap(R.drawable.img_lena);
ivStackBlur.setImageBitmap(ImageUtils.stackBlur(src, 10, false));
ivAddFrame.setImageBitmap(ImageUtils.addFrame(src, 16, Color.GREEN));
ivAddReflection.setImageBitmap(ImageUtils.addReflection(src, 80));
......
......@@ -2,14 +2,16 @@ package com.blankj.androidutilcode.activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import com.blankj.androidutilcode.R;
import com.blankj.androidutilcode.base.BaseDrawerActivity;
import com.blankj.utilcode.util.BarUtils;
/**
* <pre>
......@@ -33,13 +35,20 @@ public class MainActivity extends BaseDrawerActivity {
@Override
public void initView(Bundle savedInstanceState, View view) {
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.root_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.ctl);
collapsingToolbarLayout.setExpandedTitleColor(Color.parseColor("#00FFFFFF"));
setSupportActionBar(toolbar);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
mDrawerLayout.addDrawerListener(toggle);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this,
rootLayout,
toolbar,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
rootLayout.addDrawerListener(toggle);
toggle.syncState();
BarUtils.setStatusBarAlpha(this, 0);
BarUtils.addMarginTopEqualStatusBarHeight(toolbar);
}
@Override
......
......@@ -102,5 +102,6 @@ public class StatusBarColorActivity extends BaseActivity {
private void updateStatusBar() {
BarUtils.setStatusBarColor(this, mColor, mAlpha);
BarUtils.addMarginTopEqualStatusBarHeight(mTvStatusAlpha);
}
}
......@@ -72,6 +72,7 @@ public class StatusBarDrawerActivity extends BaseDrawerActivity {
tvStatusAlpha.setText(String.valueOf(mAlpha));
updateStatusBar();
}
......@@ -128,32 +129,19 @@ public class StatusBarDrawerActivity extends BaseDrawerActivity {
};
private void updateStatusBar() {
// ViewGroup childAt = (ViewGroup) rootLayout.getChildAt(0);
//
// rootLayout.setFitsSystemWindows(false);
// childAt.setFitsSystemWindows(false);
// childAt.setClipToPadding(true);
//
// BarUtils.transparentStatusBar(this);
// BarUtils.addStatusBarColor( childAt, mColor, mAlpha);
// BarUtils.transparentStatusBar(this);
// rootLayout.setFitsSystemWindows(true);
// BarUtils.addMarginTopEqualStatusBarHeight(cbAlpha);
// BarUtils.addStatusBarColor((ViewGroup) rootLayout.getChildAt(0), mColor, mAlpha);
if (!cbAlpha.isChecked()) {
BarUtils.setFakeStatusBarColor(fakeStatusBar, mColor, mAlpha);
BarUtils.setStatusBarAlpha(this, mAlpha);
rootLayout.setFitsSystemWindows(false);
} else {
BarUtils.setStatusBarAlpha(this, mAlpha);
}
BarUtils.setStatusBarAlpha(this, mAlpha);
// if (!cbAlpha.isChecked()) {
//// BarUtils.setStatusBarColor(this, mColor, mAlpha);
// BarUtils.setFakeStatusBarColor(fakeStatusBar, mColor, mAlpha);
// findViewById(R.id.activity_container).setFitsSystemWindows(false);
// findViewById(R.id.nav_view).setFitsSystemWindows(false);
//// rootLayout.setFitsSystemWindows(false);
// } else {
// BarUtils.hideStatusBarView(this);
//// fakeStatusBar.setVisibility(View.GONE);
//// rootLayout.setFitsSystemWindows(true);
// }
//// BarUtils.setStatusBarAlpha(this, mAlpha, true);
}
}
......@@ -86,6 +86,6 @@ public class StatusBarImageViewActivity extends BaseActivity {
};
private void updateStatusBar() {
BarUtils.setStatusBarAlpha(StatusBarImageViewActivity.this, mAlpha);
BarUtils.setStatusBarAlpha(StatusBarImageViewActivity.this, mAlpha, true);
}
}
......@@ -58,8 +58,6 @@ public class StatusBarSwipeBackActivity extends BaseBackActivity {
@Override
public void initView(Bundle savedInstanceState, View view) {
getToolBar().setTitle(getString(R.string.demo_bar));
cbAlpha = (CheckBox) findViewById(R.id.cb_alpha);
btnRandomColor = (Button) findViewById(R.id.btn_random_color);
tvStatusAlpha = (TextView) findViewById(R.id.tv_status_alpha);
......@@ -72,6 +70,9 @@ public class StatusBarSwipeBackActivity extends BaseBackActivity {
tvStatusAlpha.setText(String.valueOf(mAlpha));
abl.setVisibility(View.GONE);
BarUtils.subtractMarginTopEqualStatusBarHeight(rootLayout);
BarUtils.addMarginTopEqualStatusBarHeight(cbAlpha);
updateStatusBar();
}
......@@ -118,11 +119,9 @@ public class StatusBarSwipeBackActivity extends BaseBackActivity {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
btnRandomColor.setVisibility(View.GONE);
getToolBar().hide();
rootLayout.setBackgroundResource(R.drawable.bg_bar);
} else {
btnRandomColor.setVisibility(View.VISIBLE);
getToolBar().show();
rootLayout.setBackgroundColor(Color.WHITE);
}
updateStatusBar();
......@@ -130,14 +129,10 @@ public class StatusBarSwipeBackActivity extends BaseBackActivity {
};
private void updateStatusBar() {
if (!cbAlpha.isChecked()) {
BarUtils.setStatusBarColor(this, mColor, mAlpha);
BarUtils.subtractMarginTopEqualStatusBarHeight(cbAlpha);
} else {
if (cbAlpha.isChecked()) {
BarUtils.setStatusBarAlpha(this, mAlpha);
BarUtils.addMarginTopEqualStatusBarHeight(cbAlpha);
} else {
BarUtils.setStatusBarColor(this, mColor, mAlpha);
}
}
}
package com.blankj.androidutilcode.base;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
......@@ -8,6 +10,8 @@ import android.view.MenuItem;
import android.widget.FrameLayout;
import com.blankj.androidutilcode.R;
import com.blankj.androidutilcode.UtilsApp;
import com.blankj.utilcode.util.BarUtils;
import com.r0adkll.slidr.Slidr;
......@@ -23,6 +27,8 @@ public abstract class BaseBackActivity extends BaseActivity {
protected CoordinatorLayout rootLayout;
protected Toolbar mToolbar;
protected AppBarLayout abl;
protected FrameLayout flActivityContainer;
@Override
protected void setBaseView() {
......@@ -30,11 +36,15 @@ public abstract class BaseBackActivity extends BaseActivity {
contentView = LayoutInflater.from(this).inflate(R.layout.activity_back, null);
setContentView(contentView);
rootLayout = (CoordinatorLayout) findViewById(R.id.root_layout);
FrameLayout flActivityContainer = (FrameLayout) findViewById(R.id.activity_container);
flActivityContainer.addView(LayoutInflater.from(this).inflate(bindLayout(), flActivityContainer, false));
abl = (AppBarLayout) findViewById(R.id.abl);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
flActivityContainer = (FrameLayout) findViewById(R.id.activity_container);
flActivityContainer.addView(LayoutInflater.from(this).inflate(bindLayout(), flActivityContainer, false));
setSupportActionBar(mToolbar);
getToolBar().setDisplayHomeAsUpEnabled(true);
BarUtils.setStatusBarColor(this, ContextCompat.getColor(UtilsApp.getInstance(), R.color.colorPrimary), 0);
BarUtils.addMarginTopEqualStatusBarHeight(rootLayout);
}
......
......@@ -6,7 +6,7 @@
android:viewportWidth="508.52">
<path
android:fillColor="#000000"
android:fillColor="@color/light_black"
android:pathData="M254.26,0C113.845,0,0,113.845,0,254.26s113.845,254.26,254.26,254.26
s254.26-113.845,254.26-254.26C508.52,113.813,394.675,0,254.26,0z
M412.727,310.451c0,56.509-45.989,102.308-102.943,102.308
......@@ -14,11 +14,11 @@ H198.831c-56.891,0-103.102-45.735-103.102-102.308V198.132c0.032-56.541,46.18-102
c56.954,0,102.53,42.525,102.53,99.066c0.731,10.584,10.298,19.8,21.167,19.8h17.766c11.378,0,20.5,11.95,20.5,23.233
L412.727,310.451L412.727,310.451z" />
<path
android:fillColor="#010002"
android:fillColor="@color/light_black"
android:pathData="M313.693,293.893H194.827c-10.901,0-19.8,8.899-19.8,19.801c0,10.87,8.931,19.8,19.8,19.8
h118.866c10.901,0,19.8-8.931,19.8-19.8C333.494,302.792,324.594,293.893,313.693,293.893z" />
<path
android:fillColor="#010002"
android:fillColor="@color/light_black"
android:pathData="M194.827,214.627h59.433c10.901,0,19.8-8.931,19.8-19.8c0-10.901-8.931-19.8-19.8-19.8h-59.433
c-10.901,0-19.8,8.931-19.8,19.8C174.994,205.728,183.925,214.627,194.827,214.627z" />
</vector>
\ No newline at end of file
......@@ -6,7 +6,7 @@
android:viewportWidth="16">
<path
android:fillColor="#000000"
android:fillColor="@color/light_black"
android:pathData="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59 .4 .07 .55 -.17 .55 -.38
0-.19-.01-.82-.01-1.49-2.01 .37
-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53 .63 -.01
......
......@@ -8,6 +8,7 @@
android:background="@color/white">
<android.support.design.widget.AppBarLayout
android:id="@+id/abl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
......@@ -17,7 +18,6 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>
......
......@@ -7,8 +7,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:clipChildren="false"
android:fitsSystemWindows="true"
android:overScrollMode="never"
tools:openDrawer="start">
......@@ -23,7 +21,6 @@
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/white"
android:fitsSystemWindows="false"
app:headerLayout="@layout/nav_header"
app:menu="@menu/activity_main_drawer" />
......
......@@ -11,7 +11,7 @@
android:id="@+id/iv_src"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lena" />
android:src="@drawable/img_lena" />
<ImageView
android:id="@+id/iv_view2Bitmap"
......
......@@ -12,9 +12,10 @@
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/ctl"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:contentScrim="@color/colorPrimary"
app:expandedTitleMarginStart="@dimen/spacing_24"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
......@@ -22,6 +23,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/spacing_16"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher"
app:layout_collapseMode="parallax" />
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<View
android:id="@+id/fake_status_bar"
android:layout_width="match_parent"
android:layout_height="0dp" />
android:layout_height="match_parent">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="@dimen/spacing_16"
android:paddingRight="@dimen/spacing_16">
<CheckBox
android:id="@+id/cb_alpha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="4dp"
android:text="@string/status_bar_title_alpha" />
<TextView
android:id="@+id/tv_status_alpha"
style="@style/TextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
android:orientation="vertical">
<SeekBar
android:id="@+id/sb_change_alpha"
<View
android:id="@+id/fake_status_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:padding="@dimen/spacing_8"
android:progress="112" />
android:layout_height="0dp" />
<Button
android:id="@+id/btn_random_color"
style="@style/WideBtnStyle"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/status_bar_random_color" />
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="@dimen/spacing_16"
android:paddingRight="@dimen/spacing_16">
<Button
android:id="@+id/btn_set_transparent"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/status_bar_set_transparent" />
<CheckBox
android:id="@+id/cb_alpha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="4dp"
android:text="@string/status_bar_title_alpha" />
<TextView
android:id="@+id/tv_status_alpha"
style="@style/TextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<SeekBar
android:id="@+id/sb_change_alpha"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:padding="@dimen/spacing_8"
android:progress="112" />
<Button
android:id="@+id/btn_random_color"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/status_bar_random_color" />
<Button
android:id="@+id/btn_set_transparent"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/status_bar_set_transparent" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
</android.support.design.widget.CoordinatorLayout>
\ No newline at end of file
......@@ -9,7 +9,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/lena" />
android:src="@drawable/img_lena" />
<ScrollView
android:layout_width="match_parent"
......
......@@ -79,7 +79,7 @@
android:id="@+id/iv_shared_element"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lena"
android:src="@drawable/img_lena"
android:transitionName="@string/fragment_transition" />
</LinearLayout>
\ No newline at end of file
......@@ -37,7 +37,7 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lena"
android:src="@drawable/img_lena"
android:transitionName="@string/fragment_transition" />
</LinearLayout>
......
......@@ -31,7 +31,7 @@
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lena"
android:src="@drawable/img_lena"
android:transitionName="@string/fragment_transition" />
</LinearLayout>
\ No newline at end of file
......@@ -79,7 +79,7 @@
android:id="@+id/iv_shared_element"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/lena"
android:src="@drawable/img_lena"
android:transitionName="@string/fragment_transition" />
</LinearLayout>
\ No newline at end of file
......@@ -9,7 +9,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/lena" />
android:src="@drawable/img_lena" />
<View
android:id="@+id/fake_status_bar"
......
......@@ -10,7 +10,7 @@
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher" />
android:src="@drawable/bg_header" />
<ImageView
android:id="@+id/iv_avatar"
......@@ -28,7 +28,7 @@
android:layout_toRightOf="@id/iv_avatar"
android:gravity="center_vertical"
android:text="@string/author"
android:textColor="@color/black"
android:textColor="@color/white"
android:textSize="@dimen/font_40"
android:textStyle="bold" />
......@@ -41,6 +41,6 @@
android:layout_marginLeft="@dimen/spacing_16"
android:layout_marginTop="@dimen/spacing_8"
android:text="@string/demo_of_android_util_code"
android:textColor="@color/black"
android:textColor="@color/white"
android:textSize="@dimen/font_16" />
</RelativeLayout>
......@@ -12,4 +12,4 @@
android:padding="@dimen/spacing_16"
android:text="@string/snackbar_custom_view"
android:textColor="@color/white"
android:textSize="@dimen/font_26" />
\ No newline at end of file
android:textSize="@dimen/font_24" />
\ No newline at end of file
......@@ -11,4 +11,4 @@
android:padding="@dimen/spacing_16"
android:text="@string/toast_custom_view"
android:textColor="@color/white"
android:textSize="@dimen/font_26" />
\ No newline at end of file
android:textSize="@dimen/font_24" />
\ No newline at end of file
......@@ -5,7 +5,7 @@
<color name="colorAccent">#FF73A3</color>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
<color name="light_black">#4A4A4A</color>
<color name="rainbow_red">#bf0c43</color>
<color name="rainbow_yellow">#f9ba15</color>
......
......@@ -6,10 +6,10 @@
<dimen name="spacing_24">24dp</dimen>
<dimen name="spacing_128">128dp</dimen>
<dimen name="font_40">40sp</dimen>
<dimen name="font_26">26sp</dimen>
<dimen name="font_20">20sp</dimen>
<dimen name="font_16">16sp</dimen>
<dimen name="font_20">20sp</dimen>
<dimen name="font_24">24sp</dimen>
<dimen name="font_40">40sp</dimen>
<dimen name="block_low_width">40dp</dimen>
<dimen name="block_low_height">8dp</dimen>
......
......@@ -13,22 +13,15 @@
<item name="android:windowBackground">@android:color/transparent</item>
</style>
<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<item name="actionMenuTextColor">@android:color/white</item>
</style>
<style name="TextStyle">
<item name="android:textSize">@dimen/font_26</item>
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/font_24</item>
<item name="android:textColor">@color/light_black</item>
</style>
<style name="WideBtnStyle">
<style name="WideBtnStyle" parent="TextStyle">
<item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/font_26</item>
<item name="android:textColor">@color/black</item>
</style>
<style name="AnimationActivity" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/slide_in_left</item>
<item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
......
......@@ -56,6 +56,21 @@ public final class BarUtils {
return resources.getDimensionPixelSize(resourceId);
}
/**
* 为view增加MarginTop为状态栏高度
*
* @param view view
*/
public static void addPaddingTopEqualStatusBarHeight(@NonNull View view) {
Object haveSetOffset = view.getTag(TAG_OFFSET);
if (haveSetOffset != null && (Boolean) haveSetOffset) return;
view.setPadding(view.getPaddingLeft(),
view.getPaddingTop() + getStatusBarHeight(),
view.getPaddingRight(),
view.getPaddingBottom());
view.setTag(TAG_OFFSET, true);
}
/**
* 为view增加MarginTop为状态栏高度
*
......@@ -129,7 +144,7 @@ public final class BarUtils {
hideAlphaView(activity);
transparentStatusBar(activity);
addStatusBarColor(activity, color, alpha, isDecor);
addMarginTopEqualStatusBarHeight(activity);
// addMarginTopEqualStatusBarHeight(activity);
}
/**
......@@ -189,6 +204,7 @@ public final class BarUtils {
@ColorInt final int color,
@IntRange(from = 0, to = 255) final int alpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
fakeStatusBar.setVisibility(View.VISIBLE);
transparentStatusBar((Activity) fakeStatusBar.getContext());
ViewGroup.LayoutParams layoutParams = fakeStatusBar.getLayoutParams();
layoutParams.height = BarUtils.getStatusBarHeight();
......@@ -213,36 +229,13 @@ public final class BarUtils {
public static void setFakeStatusBarAlpha(@NonNull final View fakeStatusBar,
@IntRange(from = 0, to = 255) final int alpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
fakeStatusBar.setVisibility(View.VISIBLE);
transparentStatusBar((Activity) fakeStatusBar.getContext());
ViewGroup.LayoutParams layoutParams = fakeStatusBar.getLayoutParams();
layoutParams.height = BarUtils.getStatusBarHeight();
fakeStatusBar.setBackgroundColor(Color.argb(alpha, 0, 0, 0));
}
private static void addStatusBarColor(final ViewGroup parent, final int color, final int alpha) {
View fakeStatusBarView = parent.findViewWithTag(TAG_COLOR);
if (fakeStatusBarView != null) {
if (fakeStatusBarView.getVisibility() == View.GONE) {
fakeStatusBarView.setVisibility(View.VISIBLE);
}
fakeStatusBarView.setBackgroundColor(getStatusBarColor(color, alpha));
} else {
parent.addView(createColorStatusBarView(parent.getContext(), color, alpha));
}
}
private static void addStatusBarAlpha(final ViewGroup parent, final int alpha) {
View fakeStatusBarView = parent.findViewWithTag(TAG_ALPHA);
if (fakeStatusBarView != null) {
if (fakeStatusBarView.getVisibility() == View.GONE) {
fakeStatusBarView.setVisibility(View.VISIBLE);
}
fakeStatusBarView.setBackgroundColor(Color.argb(alpha, 0, 0, 0));
} else {
parent.addView(createAlphaStatusBarView(parent.getContext(), alpha));
}
}
/**
* 隐藏伪状态栏 View
*
......@@ -253,17 +246,6 @@ public final class BarUtils {
hideAlphaView(activity);
}
private static void addPaddingTopEqualStatusBarHeight(@NonNull View view) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) return;
Object haveSetOffset = view.getTag(TAG_OFFSET);
if (haveSetOffset != null && (Boolean) haveSetOffset) return;
view.setPadding(view.getPaddingLeft(),
view.getPaddingTop() + getStatusBarHeight(),
view.getPaddingRight(),
view.getPaddingBottom());
view.setTag(TAG_OFFSET, true);
}
private static void addStatusBarColor(final Activity activity, final int color, final int alpha, boolean isDecor) {
ViewGroup parent = isDecor ?
(ViewGroup) activity.getWindow().getDecorView() :
......@@ -271,6 +253,18 @@ public final class BarUtils {
addStatusBarColor(parent, color, alpha);
}
private static void addStatusBarColor(final ViewGroup parent, final int color, final int alpha) {
View fakeStatusBarView = parent.findViewWithTag(TAG_COLOR);
if (fakeStatusBarView != null) {
if (fakeStatusBarView.getVisibility() == View.GONE) {
fakeStatusBarView.setVisibility(View.VISIBLE);
}
fakeStatusBarView.setBackgroundColor(getStatusBarColor(color, alpha));
} else {
parent.addView(createColorStatusBarView(parent.getContext(), color, alpha));
}
}
private static void addStatusBarAlpha(final Activity activity, final int alpha, boolean isDecor) {
ViewGroup parent = isDecor ?
(ViewGroup) activity.getWindow().getDecorView() :
......@@ -278,8 +272,20 @@ public final class BarUtils {
addStatusBarAlpha(parent, alpha);
}
private static void addStatusBarAlpha(final ViewGroup parent, final int alpha) {
View fakeStatusBarView = parent.findViewWithTag(TAG_ALPHA);
if (fakeStatusBarView != null) {
if (fakeStatusBarView.getVisibility() == View.GONE) {
fakeStatusBarView.setVisibility(View.VISIBLE);
}
fakeStatusBarView.setBackgroundColor(Color.argb(alpha, 0, 0, 0));
} else {
parent.addView(createAlphaStatusBarView(parent.getContext(), alpha));
}
}
private static void hideColorView(final Activity activity) {
subtractMarginTopEqualStatusBarHeight(activity);
// subtractMarginTopEqualStatusBarHeight(activity);
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
View fakeStatusBarView = decorView.findViewWithTag(TAG_COLOR);
if (fakeStatusBarView == null) return;
......@@ -322,9 +328,8 @@ public final class BarUtils {
*/
private static View createAlphaStatusBarView(final Context context, final int alpha) {
View statusBarView = new View(context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight());
statusBarView.setLayoutParams(params);
statusBarView.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight()));
statusBarView.setBackgroundColor(Color.argb(alpha, 0, 0, 0));
statusBarView.setTag(TAG_ALPHA);
return statusBarView;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册