แถบสถานะจะเปลี่ยนเป็นสีขาวและไม่แสดงเนื้อหาด้านหลัง


98

ฉันกำลังทดลองใช้ AppCompat บน Marshmallow และฉันต้องการให้แถบสถานะโปร่งใส แต่มันจะเปลี่ยนเป็นสีขาว ฉันได้ลองใช้วิธีแก้ปัญหาสองสามวิธี แต่ไม่ได้ผลสำหรับฉัน ( แถบสถานะโปร่งใสไม่ทำงานกับ windowTranslucentNavigation = "false" , Lollipop: วาดด้านหลัง statusBar โดยกำหนดสีเป็นโปร่งใส ) นี่คือรหัสที่เกี่ยวข้อง

styles.xml ของฉัน

<style name="Bacon" parent="Theme.Bacon"/>

<style name="Theme.Bacon" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/theme_primary</item>
    <item name="colorPrimaryDark">@color/theme_primary_dark</item>
    <item name="colorAccent">@color/theme_accent</item>
    <item name="windowActionBar">false</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowBackground">@color/background_material_light</item>  
</style>

<style name="Theme.Bacon.Detail" parent="Bacon"/>

v21

<style name="Bacon" parent="Theme.Bacon">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

<style name="Theme.Bacon.Detail" parent="Bacon">
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

กิจกรรม

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true" />

</FrameLayout>

ส่วนย่อย

<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="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="192dp"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginBottom="32dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:statusBarScrim="@color/black_trans80">

        <ImageView
            android:id="@+id/photo"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:contentDescription="@string/photo"
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            app:layout_collapseMode="parallax" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/anim_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

ป้อนคำอธิบายภาพที่นี่


คุณสามารถแก้ปัญหานี้ได้หรือไม่? ฉันมีปัญหาเดียวกัน ในกิจกรรมของฉันมีแถบสถานะสีขาว
kirtan403

1
@ kirtan403 ฉันแก้ไขปัญหาโดยเปลี่ยนเค้าโครงกิจกรรมจาก FrameLayout เป็น RelativeLayout โปรดดูคำตอบของฉัน
pt2121

Mine is Relative เท่านั้นที่ยังคงได้รับแถบสถานะสีขาว ฉันได้โพสต์คำถามที่นี่: stackoverflow.com/q/33890066/1820644
kirtan403

หลังจากดิ้นรนมาทั้งวันฉันก็พบวิธีแก้ปัญหาที่เหมาะกับฉัน นี่คือคำตอบ: stackoverflow.com/a/33892569/1820644
kirtan403

ฉันเปลี่ยนสถานะ android: windowTranslucentStatus เป็นเท็จและใช้งานได้
Kiran Benny Joseph

คำตอบ:


168

ฉันพบคำตอบในลิงค์นี้: แถบสถานะสีไม่เปลี่ยนโดยมี Relative Layout เป็นองค์ประกอบราก

ปรากฎว่าเราต้องลบไฟล์

      <item name="android:statusBarColor">@android:color/transparent</item>

ใน styles.xml (v21) และมันก็ใช้ได้ดีสำหรับฉัน


ใช่นี่คือทางออก เนื่องจาก android: fitsSystemWindows จะเกิดปัญหาเมื่อทำให้แถบแท็บเลื่อนได้ พบคำตอบเดียวกัน แต่คุณโพสต์ไว้ก่อนหน้านี้ ฉันคิดว่านี่เป็นค่าเริ่มต้นที่เขียนทับ
jobbert

สิ่งนี้ควรถูกทำเครื่องหมายว่าเป็นโซลูชันที่ได้รับการยอมรับ ปัญหานี้กำลังเกิดขึ้นทั่วแอปของฉันวิธีนี้แก้ไขได้ทุกที่เพียงแค่แสดงความคิดเห็นในบรรทัดเดียว ช่วยให้ฉันปวดหัว!
BMB

ฉันใช้ CoordinatorLayout ดังนั้นคำตอบอื่น ๆ สำหรับเรา CoordinatorLayout เนื่องจากรูทใช้ไม่ได้สำหรับฉัน (ใช้ fitSystemWindows = true ตามที่แนะนำก็ไม่ได้ผลเช่นกัน) คำตอบนี้ใช้ได้กับฉัน
Bruce

จะเกิดอะไรขึ้นถ้าฉันต้องการให้สีแถบสถานะของฉันโปร่งใส?
nullmn

1
@nullmn แล้วคุณต้องเปลี่ยนพื้นหลังกิจกรรมของคุณเป็นอย่างอื่น
Phoenix Wang

97

(สายไปหน่อย แต่อาจมีคนช่วยได้)

ฉันมีปัญหาเดียวกันแน่นอน อย่างไรก็ตามกิจกรรมบางอย่างเป็นเรื่องปกติในขณะที่กิจกรรมใหม่ที่ฉันสร้างขึ้นแสดงแถบสถานะสีขาวแทนcolorPrimaryDarkค่า

หลังจากที่พยายามหลายเคล็ดลับผมสังเกตเห็นว่ากิจกรรมตามปกติทำงานที่ทั้งหมดใช้CoordinatorLayoutเป็นรากของรูปแบบในขณะที่สำหรับคนอื่น ๆ ที่ผมได้เข้ามาแทนที่มันด้วยรูปแบบปกติเพราะผมไม่ได้ต้องการคุณสมบัติ (ภาพเคลื่อนไหว ฯลฯ ) CoordinatorLayoutให้บริการโดย

ดังนั้นวิธีแก้ปัญหาคือสร้างCoordinatorLayoutเค้าโครงรูทจากนั้นด้านในของมันจึงเพิ่มรูทเค้าโครงเดิมของคุณ นี่คือตัวอย่าง:

<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
  android:fitsSystemWindows="true">

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <!-- your activity content here-->


  </LinearLayout>
</android.support.design.widget.CoordinatorLayout>

โปรดทราบว่าหากไม่มีandroid:fitsSystemWindows="true"วิธีแก้ปัญหานี้ไม่ได้ผลสำหรับฉัน

ทดสอบกับ Lollipop และ Marshmallow


3
วิธีแก้ปัญหาก็ใช้ได้ผลสำหรับฉันเช่นกัน แต่ .. ทำไมมันถึงเกิดขึ้น? สี StatusBar ที่เหมาะสมจะปรากฏขึ้นเมื่อรูทเป็น DrawerLayout หรือ CoordinatorLayout
user3316561

3
นี้จะทำงานให้ฉันเมื่อมีการเพิ่มandroid:fitsSystemWindows="true"ไปCoordinatorLayoutใน Android 8.
ฝรั่งเศส

2
@ ฟรังโกฉันคิดว่านี่เป็นส่วนที่เกี่ยวข้องมากที่สุดของการแก้ปัญหา ฉันพูดแบบนี้เพราะฉันเคยCoordinatorLayoutประสบปัญหาเดียวกันและคุณสมบัติเฉพาะที่แก้ไขปัญหานี้ให้ฉันคือandroid:fitsSystemWindows="true"
วิลเฮล์ม

android:fitsSystemWindows="true"ไม่ทำงานสำหรับฉัน สิ่งที่แก้ปัญหาของฉันคือการใช้ธีมที่ไม่ได้AppTheme.NoActionBarอยู่ในกิจกรรมกับไฟล์CoordinatorLayout. ฉันไม่รู้ว่าทำไมถึงแก้ไขได้
bmdelacruz

CoordinatorLayoutหรือandroid:fitsSystemWindows="true"ไม่ได้ผลสำหรับฉัน
Alif Hasnain

19
 <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    </style

เพียงแค่แทนที่สิ่งนี้ statusBarColor ควรเป็นสีที่คุณคาดหวังไม่ใช่ความโปร่งใส


18

คุณต้องเพิ่มคุณสมบัตินี้ในสไตล์ของคุณเพื่อดูเนื้อหา

<item name="android:windowLightStatusBar" tools:ignore="NewApi">true</item>

สิ่งนี้ได้ผลสำหรับฉัน คำตอบนี้ควรได้รับการยอมรับ
abdul rehman

11

เพิ่มสิ่งนี้ใน style.xml ของคุณ

    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>

และสิ่งนี้ใน onCreate ();

 getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

1
ขอบคุณ แต่ไม่ได้ผล แถบสถานะมีลักษณะเหมือนกัน
pt2121

โปรดช่วยสำหรับปัญหานี้ ... ปัญหาเดียวกันที่นี่ .... ไม่มีวิธีแก้ไขใด ๆ จนถึงขณะนี้
Saeed Jassani

@SaeedJassani ฉันพบวิธีแก้ปัญหาที่เหมาะกับฉัน หากคุณมีปัญหาเดียวกันโปรดดูคำถามและคำตอบของฉัน: stackoverflow.com/a/33892569/1820644
kirtan403

9

หลังจากลองทำตามข้างต้นทั้งหมดไม่สำเร็จฉันพบว่าการตั้งค่าธีมอย่างชัดเจนช่วยแก้ปัญหาได้

setTheme(R.style.AppTheme);

ที่ต้องไปก่อน super.OnCreate () ในกิจกรรมของคุณ


1
ฉันสามารถยืนยันได้ว่าสิ่งนี้แก้ไขกิจกรรมที่ผิดพลาดบน Marshmallow
Dare0021

รักคุณผู้ชายทำงานเหมือนมีเสน่ห์แม้ว่าฉันยังไม่รู้ว่าทำไม: @
Adeel Ahmad

ก่อนซูเปอร์ OnCreate () เป็นกุญแจสำคัญ
Karthik Rk

9

เพียงใส่รายการนี้ใน v21 \ styles.xml ของคุณ:

จริง

ควรมีลักษณะดังนี้:

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentStatus">true</item>
</style>


1
มันใช้ได้ผลสำหรับฉันโดยใช้falseค่าใน 2 รายการสุดท้าย แปลก แต่ขอบคุณ
JCarlosR

ใช้งานได้เฉพาะกับสองบรรทัดสุดท้าย แต่เนื้อหาจะอยู่ด้านหลังแถบสถานะช่องว่าง / ระยะขอบหรือ fitSystemWindows ไม่ได้ช่วย ทดสอบบน OP 5 ที่รันตังเม
Anton Makov

9

ฉันประสบปัญหาเดียวกัน สิ่งที่ฉันทำคือในไฟล์ "v21 / styles.xml" เปลี่ยนค่าเป็นจริง:

 <item name="android:windowDrawsSystemBarBackgrounds">true</item>

ถึง:

 <item name="android:windowDrawsSystemBarBackgrounds">false</item>


5

ฉันแก้ไขปัญหาโดยเปลี่ยนเค้าโครงกิจกรรมจาก FrameLayout เป็น RelativeLayout ขอบคุณทุกคนที่พยายามช่วย!

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@android:color/transparent">

    <android.support.v4.view.ViewPager
      android:id="@+id/pager"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@color/theme_primary_dark"
      android:fitsSystemWindows="true" />

</RelativeLayout>

ลอง ลำดับชั้นของผู้ดูหรือViewInspector เครื่องมือเหล่านี้อาจช่วยคุณได้


5

เพียงลบแท็กต่อไปนี้ออกจาก style v21 @android: color / transparent

สิ่งนี้ใช้ได้กับฉัน


@android: color / transparent ไม่ใช่ "แท็ก" อาจเป็นค่าของแอตทริบิวต์ style แต่ไม่ใช่ "tag" จะเกิดอะไรขึ้นถ้า OP มีการกำหนดค่านี้มากกว่าหนึ่งครั้ง? เขาควรถอดอันไหน คำตอบของคุณกว้างเกินไป
protectedmember

ใช่มันก็เป็นเช่นนั้นสำหรับฉันเช่นกัน .. ขอบคุณ Shendre! :) และสำหรับความคิดเห็นของคุณ @protectedmember - ระบบปฏิบัติการไม่มีเพศ
zeroDivider

4

ฉันพบวิธีแก้ปัญหานี้แล้ว -

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowLightStatusBar">true</item>
</style>

เพิ่มสิ่งนี้ลงในสไตล์ของคุณและมันจะใช้ได้กับ api 21 ขึ้นไป


3

แนวทางที่ดีกว่า

ตรวจสอบไฟล์ style.xml ของคุณว่ามีธีม NoActionBar อยู่ที่นั่น ตรวจสอบให้แน่ใจว่ามีพาเรนต์เป็น Theme.AppCompat.NoActionBar และปรับแต่งด้วยการเพิ่มโทนสีของคุณ สุดท้ายตั้งค่าธีมของคุณในรายการตามต้องการ

ด้านล่างนี้คือตัวอย่างไฟล์ styles.xml ของฉัน (ActionBar + NoActionBar)

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<!-- No ActionBar application theme. -->
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

2

สำหรับฉันมันทำงานได้โดยทำสิ่งต่อไปนี้:

  1. ตั้งค่าธีม .NoActionBar
  2. รวมแถบเครื่องมือเข้า android.support.design.widget.AppBarLayout
  3. ทำเป็นandroid.support.design.widget.CoordinatorLayoutเค้าโครงหลัก

โดยพื้นฐานแล้วเป็นขั้นตอนที่สามที่ดึงแถบสถานะในcolorPrimaryDarkมิฉะนั้นจะไม่ถูกวาดหากคุณใช้NoActionBarธีม ขั้นตอนที่ 2 จะให้แถบเครื่องมือของคุณที่ซ้อนทับ


2

สำหรับสไตล์ v23.2

 <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowLightStatusBar">true</item>
    <item name="android:statusBarColor">@android:color/white</item>
</style>

สำหรับรูปแบบ v21.2

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:statusBarColor">@android:color/white</item>
</style>

2

[เอาท์พุท]

ขยาย res -> values ​​-> styles directory จากแผงโครงการ

เปิด styles.xml (v21)

ใช้วิธีใดก็ได้จากวิธีการด้านล่าง

  1. เปลี่ยนจริงจะเท็จในandroid:windowDrawsSystemBarBackgroundsสถานที่ให้บริการ
  2. เปลี่ยน@android: color / transparentเป็น@ color / colorPrimaryDarkในandroid:statusBarColorคุณสมบัติ
  3. ลบandroid:statusBarColorบรรทัดที่เหมาะสม

2

หาก v21 / styles.xml ของคุณมี

<resources>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources>

จากนั้น ลบหรือแสดงความคิดเห็นด้านล่างบรรทัดหรือเปลี่ยนสีของแถบสถานะ

<item name="android:statusBarColor">@android:color/transparent</item>

มันทำงานได้ดี หวังว่านี่จะเป็นประโยชน์ ขอบคุณ.


1

ฉันไม่แน่ใจว่ามันสายไปหรือเปล่า แต่ฉันหวังว่ามันจะช่วยใครสักคนได้ * สร้างมุมมองปลอมด้วยพื้นหลังโปร่งใสที่เหมาะกับเค้าโครงและสร้างโครงร่างผู้ประสานงานเป็นองค์ประกอบเค้าโครงรูทของคุณ

<View
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent"
    android:fitsSystemWindows="true" />


<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:scaleType="centerCrop"
    android:src="@drawable/something" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   .... YOUR LAYOUT


1

สิ่งนี้มีผลกับฉัน

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
        }

1
สวัสดียินดีต้อนรับสู่ StackOverflow! คุณสามารถแก้ไขคำตอบของคุณเพื่ออธิบายรายละเอียดว่าทำไมคำตอบนี้ถึงได้ผล คำอธิบายสั้น ๆ เกี่ยวกับโค้ดของคุณไปได้ไกล!
Gigazelle

0

ฉันเดาว่าสิ่งนี้เกิดจากandroid:windowBackgroundไฟล์. คือ@color/background_material_lightการอ้างอิงถึงสีขาว?


ไม่ ไม่ขาวแน่นอน แต่ยังไงก็ขอบคุณ! (คุณจะเห็นไอคอนสีขาวบนนั้น)
pt2121

ฉันอ่านคำถามของคุณผิด ลองเปลี่ยนด้วย<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:statusBarColor">@null</item>
hanspeide

เพื่อให้แน่ใจว่าฉันเข้าใจคุณถูกต้องคุณต้องการให้รูปภาพแสดงด้านหลังแถบสถานะหรือไม่?
hanspeide

0

ตรวจสอบแถบเครื่องมือนี้เปลี่ยนเป็นสีขาว - ไม่ได้วาด AppBar หลังจากเลื่อนออกจากหน้าจอ

https://code.google.com/p/android/issues/detail?id=178037#c19

ฉันใช้ไลบรารี 23.0.0 และข้อผิดพลาดยังคงเกิดขึ้น

วิธีแก้ปัญหาสำหรับสิ่งนี้คือการเพิ่มมุมมองที่แทบจะไม่มีที่ว่างและมองไม่เห็น ดูโครงสร้างด้านล่าง

<android.support.v4.widget.NestedScrollView
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

</android.support.v4.widget.NestedScrollView>

<android.support.design.widget.AppBarLayout>

    <android.support.v7.widget.Toolbar
        app:layout_scrollFlags="scroll|enterAlways" />

    <android.support.design.widget.TabLayout
        app:layout_scrollFlags="scroll|enterAlways" />

    <View
        android:layout_width="match_parent"
        android:layout_height=".3dp"
        android:visibility="visible"/>

</android.support.design.widget.AppBarLayout>

คำถามนี้ใน Stackoverflow.com อ้างถึงจุดบกพร่องนี้ด้วย: แถบเครื่องมือ CoordinatorLayout มองไม่เห็นเมื่อเข้าจนกระทั่ง AppBarLayout ความสูงเต็ม- บางครั้งเค้าโครงจะมองไม่เห็นเมื่อเข้าสู่มุมมอง (แม้ว่าจะไม่ได้ป้อนก็ตาม)


ไม่ใช่บั๊กเดียวกัน ในกรณีของฉันมันเป็นสีขาวทันทีหลังจากที่กิจกรรมไม่แสดงหลังจากถูกเลื่อนออกจากหน้าจอ ขอบคุณมาก
pt2121

0

หากคุณใช้RelativeLayout / CoordinatorLayoutนี่เป็นวิธีแก้ปัญหาที่เหมาะกับฉัน:

คุณต้องใช้

  • ผู้ประสานงาน
  • AppBarLayout

โปรดใช้ CoordinatorLayout แทน RelativeLayout (ประสิทธิภาพดีกว่าและใช้งานได้ดีกับ AppBarLayout)

นี่คือวิธีเริ่มต้นส่วนของคุณ

<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
android:background="@android:color/background_light"
android:fitsSystemWindows="true"
>

<android.support.design.widget.AppBarLayout
    android:id="@+id/main.appbar"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true"
    >
    ...

การเข้ารหัสที่ดี!


0
 <style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

เพิ่มรายการ 'windowTranslucentStatus' ในรูปแบบ


0

เพิ่มสิ่งนี้ใน style.xml ของคุณ

<item name="android:windowTranslucentStatus">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

หมายเหตุ: ไม่รองรับการระบายสีแถบสถานะต่ำกว่าระดับ API 21


0

คุณต้องการสิ่งนี้ใช่ไหม

ลองดู ใน [value] - [style.xml]

<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
    <item name="android:windowLightStatusBar">true</item>
</style>

คุณรู้ไม่ตรงกับ apptheme - parent

โชคดี



-1
    Window window = this.getWindow();
    window.setStatusBarColor(this.getResources().getColor(R.color.colorPrimaryDark));

เพิ่ม 2 บรรทัดนี้ในไฟล์ java ด้านล่าง


1
ยินดีต้อนรับสู่ Stack Overflow โปรดอธิบายรายละเอียดว่าโค้ดของคุณทำงานอย่างไรและจะช่วยแก้ปัญหา OPs Question ได้อย่างไร โปรดดูวิธีการเขียนคำตอบที่ดีเพื่อปรับปรุงคำตอบของคุณ
Tom M
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.