久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

android標(biāo)題欄,、狀態(tài)欄圖標(biāo)文字顏色及背景動態(tài)變化 瀟瀟鳳兒

 hncdman 2022-04-27
android標(biāo)題欄,、狀態(tài)欄圖標(biāo)文字顏色及背景動態(tài)變化
瀟瀟鳳兒
于 2017-06-22 14:22:30 發(fā)布
64244
收藏 70
分類專欄: Android開發(fā) 文章標(biāo)簽: android 透明狀態(tài)欄 狀態(tài)欄文字顏色
版權(quán)
Android開發(fā)
專欄收錄該內(nèi)容
36 篇文章2 訂閱
訂閱專欄
android中沉浸式狀態(tài)欄的文章已經(jīng)滿大街了,可是在實現(xiàn)某些效果時,還是得各種搜索,,測試一通后,最后還常常滿足不了要求,,即使好不容易在一部手機上滿足了需求,,放在另外一手機上,發(fā)現(xiàn)效果還各種不適配,。今天把自己這幾天學(xué)到的關(guān)于沉浸式狀態(tài)欄知識進行總結(jié)下,。
問題
比如我想實現(xiàn)以下效果:
1. 同一個Activity需要動態(tài)變換標(biāo)題欄和狀態(tài)欄文字字體色值,,該如何實現(xiàn)?
2. 一個Activity包含多個Fragment切換時,,不同的Fragment的狀態(tài)欄背景,,狀態(tài)欄文字顏色和圖標(biāo)要求不一樣怎么實現(xiàn)?
3. 設(shè)置沉浸式狀態(tài)欄,,各個android版本之間差別如何,,那么多flag,長得都一樣,,都有什么區(qū)別,?
無圖無真相,帶著這幾個問題,,先上兩張我實現(xiàn)的效果圖,。
下面是同一個activity切換不同fragment時,狀態(tài)欄文字顏色跟著變化的效果圖:
下圖是同一個Activity向上滾動時,,標(biāo)題欄和狀態(tài)欄文字顏色根據(jù)變化的效果:
1. 實現(xiàn)秀明狀態(tài)欄常規(guī)方法
protected boolean useThemestatusBarColor = false;//是否使用特殊的標(biāo)題欄背景顏色,,android5.0以上可以設(shè)置狀態(tài)欄背景色,如果不使用則使用透明色值
protected boolean useStatusBarColor = true;//是否使用狀態(tài)欄文字和圖標(biāo)為暗色,,如果狀態(tài)欄采用了白色系,,則需要使?fàn)顟B(tài)欄和圖標(biāo)為暗色,android6.0以上可以設(shè)置
protected void setStatusBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
//根據(jù)上面設(shè)置是否對狀態(tài)欄單獨設(shè)置顏色
if (useThemestatusBarColor) {
getWindow().setStatusBarColor(getResources().getColor(R.color.colorTheme));
} else {
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4到5.0
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !withoutUseStatusBarColor) {//android6.0以后可以對狀態(tài)欄文字顏色和圖標(biāo)進行修改
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
在Activity布局的根節(jié)點處加上android:fitsSystemWindows=”true”屬性就可以了,,要不布局會跑到狀態(tài)欄和導(dǎo)航欄下面,,與導(dǎo)航欄和狀態(tài)欄重疊,這當(dāng)然不是我們希望的,。
Activity通過上面的設(shè)置,,可以實現(xiàn)如下效果:
上面設(shè)置狀態(tài)欄文字顏色和圖標(biāo)為暗色主要采用了以下兩個標(biāo)志:
//設(shè)置狀態(tài)欄文字顏色及圖標(biāo)為深色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
1
2
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 是從API 16開始啟用,實現(xiàn)效果:
視圖延伸至狀態(tài)欄區(qū)域,,狀態(tài)欄懸浮于視圖之上
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 是從 API 23開始啟用,,實現(xiàn)效果:
設(shè)置狀態(tài)欄圖標(biāo)和狀態(tài)欄文字顏色為深色,為適應(yīng)狀態(tài)欄背景為淺色調(diào),,該Flag只有在使用了FLAG_DRWS_SYSTEM_BAR_BACKGROUNDS,,并且沒有使用FLAG_TRANSLUCENT_STATUS時才有效,即只有在透明狀態(tài)欄時才有效,。
2. 同一個Activity包含多個Fragment時,,如何實現(xiàn)不同fragment的狀態(tài)欄背景和文字顏色不一樣
如下面的效果圖:
就是設(shè)置了狀態(tài)欄為暗色后,還得設(shè)置回來,,這其實主要靠下面兩個flag標(biāo)識,,結(jié)全上面的兩個flag標(biāo)識就能實現(xiàn)。
//設(shè)置狀態(tài)欄文字顏色及圖標(biāo)為淺色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
1
2
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 前面說過了,,是為了讓視圖能延伸到狀態(tài)欄區(qū)域,,使?fàn)顟B(tài)欄懸浮在視圖布局之上。
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
保持整個View穩(wěn)定, 常和控制System UI懸浮, 隱藏的Flags共用, 使View不會因為System UI的變化而重新layout,。
將上面的代碼放在不同fragment切換處即可實現(xiàn)上面的效果了:
private void switchTo(int position) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
switch (position) {
case 0://首頁
hideShowFragment(transaction, fourFragment, thirdFragment, secondFragment, homeFragment);//展示第一個fragment
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
break;
case 1: //活動
hideShowFragment(transaction, homeFragment, thirdFragment, fourFragment, secondFragment);//展示第二個fragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//實現(xiàn)狀態(tài)欄圖標(biāo)和文字顏色為暗色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
break;
case 2: //所有圖片
hideShowFragment(transaction, homeFragment, fourFragment, secondFragment, thirdFragment);
//展示第三個fragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//實現(xiàn)狀態(tài)欄圖標(biāo)和文字顏色為暗色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
break;
case 3://我的
hideShowFragment(transaction, homeFragment, secondFragment, thirdFragment, fourFragment);//展示第四個fragment
//實現(xiàn)狀態(tài)欄圖標(biāo)和文字顏色為淺色
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
break;
default:
break;
}
}
//fragment切換實現(xiàn)
private void hideShowFragment(FragmentTransaction transaction, Fragment fragment1, Fragment fragment2, Fragment fragment3, Fragment fragment4) {
transaction.hide(fragment1);
transaction.hide(fragment2);
transaction.hide(fragment3);
transaction.show(fragment4);
transaction.commitAllowingStateLoss();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
大家可能會注意到,,我這里切換每個fragment時,有下面這樣一行代碼:
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
1
這行代碼干什么用的,,因為我們這里首頁和我的頁面,,需要背景圖片填充到狀態(tài)欄,故不能使用android:fitsSystemWindows屬性,,故在實現(xiàn)上面效果時帶有底部導(dǎo)航欄手機上就會存在一個大坑,,解決辦法見第3章節(jié)。同時不使用android:fitsSystemWindows屬性,,怎么讓布局不遮擋狀態(tài)欄文字,,解決辦法見第4章節(jié)。
3. 帶有底部導(dǎo)航欄手機底部導(dǎo)航按鈕會和navigationbar重疊
如下圖所示:
全屏?xí)r,,由于視圖布局會填充到狀態(tài)欄和導(dǎo)航欄下方,,如果不使用android:fitsSystemWindows=”true”屬性,就會使底部導(dǎo)航欄和應(yīng)用底部按鈕重疊,,導(dǎo)視按鈕點擊失效,,這該怎么辦?
經(jīng)過網(wǎng)上搜索相關(guān)資料,,其實實現(xiàn)方法和實現(xiàn)透明狀態(tài)欄效果方法一致,。
解決的方法:
1. 先判斷手機是否有物理按鈕判斷是否存在NavigationBar;
2. 計算底部的NavigationBar高度,;
3. 最后設(shè)置視圖邊距,。
3.1 通過反射判斷手機是否有物理按鈕NavigationBar
//判斷是否存在NavigationBar
public static boolean checkDeviceHasNavigationBar(Context context) {
boolean hasNavigationBar = false;
Resources rs = context.getResources();
int id = rs.getIdentifier("config_showNavigationBar", "bool", "android");
if (id > 0) {
hasNavigationBar = rs.getBoolean(id);
}
try {
Class systemPropertiesClass = Class.forName("android.os.SystemProperties");
Method m = systemPropertiesClass.getMethod("get", String.class);
String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys");
if ("1".equals(navBarOverride)) {
hasNavigationBar = false;
} else if ("0".equals(navBarOverride)) {
hasNavigationBar = true;
}
} catch (Exception e) {
}
return hasNavigationBar;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
3.2 計算底部的NavigationBar高度
/**
* 獲取底部導(dǎo)航欄高度
* @return
*/
public static int getNavigationBarHeight(Context context) {
Resources resources = context.getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
//獲取NavigationBar的高度
navigationHeight = resources.getDimensionPixelSize(resourceId);
return navigationHeight;
}
1
2
3
4
5
6
7
8
9
10
11
3.3 設(shè)置視圖邊距
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, CommonUtils.navigationHeight);
1
通過上面的設(shè)置,會使布局距離底部導(dǎo)航欄的高度,。
最后實現(xiàn)效果如下:
參考文章:android 6.0導(dǎo)航欄 NavigationBar影響視圖解決辦法
4. 不使用fiySystemWindow屬性,,布局怎么能不遮擋狀態(tài)欄文字
跟第三章節(jié)類似,在主頁中,,需要使布局中帶文字的布局向上margin狀態(tài)欄的高度,。
4.1 先在布局中設(shè)置一個占空LinearLayout
我們先來看看第三個Fragment的布局實現(xiàn)
<layout xmlns:android="http://schemas./apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--這個是隱藏的布局,然后通過動態(tài)的設(shè)置高度達到效果-->
<LinearLayout
android:id="@+id/ll_bar"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:orientation="vertical"
android:background="@color/white"
android:visibility="gone">
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/toollbar_height"
android:background="@drawable/topbar_generic">
<TextView
android:id="@+id/title_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:textColor="@color/text_main_color"
android:text="@string/all_photo"
android:textSize="20sp" />
<TextView
android:id="@+id/titlebar_right_tv"
style="@style/main_content_text_style"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/margin_10dp"
android:gravity="center_vertical"
android:text="@string/confirm"/>
</RelativeLayout>
<FrameLayout
android:id="@+id/fmImageList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" />
</LinearLayout>
</layout>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
4.2 在代碼中動態(tài)設(shè)置占空布局高度
/**
* 動態(tài)的設(shè)置狀態(tài)欄 實現(xiàn)沉浸式狀態(tài)欄
*/
private void initState() {
//當(dāng)系統(tǒng)版本為4.4或者4.4以上時可以使用沉浸式狀態(tài)欄
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明狀態(tài)欄
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明導(dǎo)航欄
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
bindingView.llBar.setVisibility(View.VISIBLE);
//獲取到狀態(tài)欄的高度
int statusHeight = CommonUtils.getStatusBarHeight(getActivity());
//動態(tài)的設(shè)置隱藏布局的高度
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) bindingView.llBar.getLayoutParams();
params.height = statusHeight;
bindingView.llBar.setLayoutParams(params);
}
}
/**
* 通過反射的方式獲取狀態(tài)欄高度
*
* @return
*/
public static int getStatusBarHeight(Context context) {
try {
Class<?> c = Class.forName("com.android.internal.R$dimen");
Object obj = c.newInstance();
Field field = c.getField("status_bar_height");
int x = Integer.parseInt(field.get(obj).toString());
return context.getResources().getDimensionPixelSize(x);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
對于上面的第二個和第三個fragment的實現(xiàn),,為了讓視圖布局不遮擋狀態(tài)欄文字,,主要是通過先給界面設(shè)置占位布局,然后在代碼中動態(tài)設(shè)置該布局為狀態(tài)欄高度,,這其實就是讓狀態(tài)欄懸浮在這個占空布局上面,。視圖布局位于占空布局下方,從而達到視圖布局不遮擋狀態(tài)欄效果,。
上面對于版本的判斷,,如果android版本大于4.4, 則讓該布局顯示出來,,而版本低于4.4, 由于沒有沉浸式狀態(tài)欄效果,則不需要給界面設(shè)置占空布局,。
而對于第一個首頁和第四個我的fragment,,則需要布局的圖片填充到狀態(tài)欄底下,而標(biāo)題欄要位于狀態(tài)欄下方,,這其實只需要一種取巧實現(xiàn),,一般手機狀態(tài)欄高度都是在25dp左右,當(dāng)然在代碼中動態(tài)獲取狀態(tài)欄高度,,動態(tài)設(shè)置也可以,。我這里是簡單實現(xiàn),讓標(biāo)題欄marginTop狀態(tài)欄高度即可,,對于android不同版本,,可以如下設(shè)置。
對于values中dimens.xml設(shè)置狀態(tài)欄的高度:
<dimen name="status_bar_height">0dp</dimen>
1
對于values-v19中dimens.xml設(shè)置狀態(tài)欄的高度:
<dimen name="status_bar_height">25dp</dimen>
1
5. 同一個Activity上下滑動動態(tài)變換標(biāo)題欄和狀態(tài)欄文字字體色值
效果如下:
這種布局實現(xiàn)主要是依靠CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar+NestedScrollView來實現(xiàn),,之前我也寫過類似的博文來介紹CoordinatorLayout的使用方法,。感興趣的小伙伴可以參下:android沉浸式狀態(tài)欄、fitsSystemWindows,、標(biāo)題欄折疊
下面我們說說怎么在界面滑動時,,修改狀態(tài)欄和標(biāo)題欄文字顏色。
這個主要通過監(jiān)聽AppBarLayout滑動的距離,,向上滑動,,如果大于標(biāo)題欄的高度,則要動態(tài)改變標(biāo)題欄文字顏色,,當(dāng)標(biāo)題欄折疊時,,改變狀態(tài)欄文字顏色及返回銨鈕圖標(biāo),同時狀態(tài)欄文字顏色變成暗色,。
向下滑動時,,隨著標(biāo)題欄慢慢消失,需要把狀態(tài)欄文字顏色變成淺色調(diào),。
private void setAppBarListener() {
measureHeight();
bindingView.appbar.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> {
if (verticalOffset == 0) {
if (state != CollapsingToolbarLayoutState.EXPANDED) {
state = CollapsingToolbarLayoutState.EXPANDED;//修改為展開狀態(tài)
bindingView.titleTv.setVisibility(View.GONE);
bindingView.toolbar.setNavigationIcon(R.drawable.nav_icon_white_return);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_VISIBLE);
}
} else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) {
bindingView.titleTv.setVisibility(View.VISIBLE);
bindingView.toolbar.setNavigationIcon(R.drawable.nav_icon_return);
state = CollapsingToolbarLayoutState.COLLAPSED;//修改為折疊狀態(tài)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
} else {
if (Math.abs(verticalOffset) > height) {
bindingView.titleTv.setVisibility(View.VISIBLE);
float scale = 1- height / (float) Math.abs(verticalOffset);
if (state != CollapsingToolbarLayoutState.INTERNEDIATE) {
if (state == CollapsingToolbarLayoutState.COLLAPSED && scale < 0.55) {//由折疊變?yōu)檎归_
bindingView.toolbar.setNavigationIcon(R.drawable.nav_icon_white_return);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_VISIBLE);
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
}
state = CollapsingToolbarLayoutState.INTERNEDIATE;
}
float alpha = (255 * scale);
bindingView.titleTv.setTextColor(Color.argb((int) alpha, 53,55,58));
bindingView.toolbar.setNavigationIcon(R.drawable.nav_icon_return);
} else {
bindingView.titleTv.setVisibility(View.GONE);
bindingView.toolbar.setNavigationIcon(R.drawable.nav_icon_white_return);
}
}
});
}
//獲取標(biāo)題欄高度
private void measureHeight() {
ViewTreeObserver vto = bindingView.coordinatorlayout.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
if (hasMeasured == false) {
height = bindingView.toolbar.getMeasuredHeight();
hasMeasured = true;
}
return true;
}
});
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
總結(jié):
根據(jù)android提供的widnow的flag,,狀態(tài)欄淺色調(diào)和深色調(diào),我們可以實時動態(tài)變換一個Activity的狀態(tài)欄顏色,,同時結(jié)合CoordinatorLayout,,我們可以實現(xiàn)更加復(fù)雜的效果。
代碼傳送門:https://github.com/xiewenfeng/statusbartextcolorchange
希望看官們幫忙star下,,多謝多謝
瀟瀟鳳兒
關(guān)注
29
7
70
專欄目錄
Android自定義狀態(tài)欄顏色與應(yīng)用標(biāo)題欄顏色一致
09-01
看IOS上的應(yīng)用,,應(yīng)用中狀態(tài)欄的顏色總能與應(yīng)用標(biāo)題欄顏色保持一致,用戶體驗很不錯,對于這種效果怎么實現(xiàn)的呢,?下面小編給大家分享android自定義狀態(tài)欄顏色與應(yīng)用標(biāo)題欄顏色一致的實現(xiàn)方法,,一起看看吧
android修改標(biāo)題欄顏色
05-03
可以修改標(biāo)題欄顏色的工具類Demo,直接可以用,。直接可以用,。直接可以用。直接可以用,。直接可以用。直接可以用,。直接可以用,。
評論7
是阿超
2021.09.14
感謝分享~
qq_41882806
2019.03.26
我說的是多個fragment情況下的狀態(tài)欄變化情況
qq_41882806
回復(fù)
qq_41882806
2019.03.27
首先感謝您的回復(fù)。您的這個demo是如何做到讓狀態(tài)欄成為布局界面的一部分的,,默認(rèn)的狀態(tài)欄不是單獨存在的的嗎
瀟瀟鳳兒作者
回復(fù)
qq_41882806
2019.03.26
文中第2點說的不就是多個fragment情況么,?
qq_41882806
2019.03.26
樓主你好,仔細閱讀你的源碼,,發(fā)現(xiàn)起作用的就是activity.getWindow().setStatusBarColor(Color.TRANSPARENT);可為什么我放到我的項目里面就不可以呢,?百思不得其解,求解惑謝謝
————————————————
版權(quán)聲明:本文為CSDN博主「瀟瀟鳳兒」的原創(chuàng)文章,,遵循CC 4.0 BY-SA版權(quán)協(xié)議,,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/smileiam/article/details/73603840

getActivity().getWindow().setStatusBarColor(Color.TRANSPARENT);//
設(shè)手機上面狀態(tài)欄的色彩
getActivity().getWindow().setNavigationBarColor(Color.RED) ;//設(shè)的手機下面導(dǎo)航條的色

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多