ठीक है, इज़हार समाधान ठीक था लेकिन, व्यक्तिगत रूप से, मैं इस तरह से दिखने वाले कोड से बचने की कोशिश कर रहा हूं:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//Do what you need for this SDK
};
साथ ही, मुझे कोड डुप्लिकेट करना भी पसंद नहीं है। आपके उत्तर में मुझे सभी क्रियाकलापों में इस तरह की कोड को जोड़ना होगा:
setStatusBarColor(findViewById(R.id.statusBarBackground),getResources().getColor(android.R.color.white));
इसलिए, मैंने इज़हार समाधान लिया और XML को उसी परिणाम प्राप्त करने के लिए उपयोग किया: StatusBar status_bar.xml के लिए एक लेआउट बनाएँ
<View xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/statusBarHeight"
android:background="@color/primaryColorDark"
android:elevation="@dimen/statusBarElevation">
ऊँचाई और ऊँचाई की विशेषताओं पर ध्यान दें, ये मूल्यों में निर्धारित किए जाएंगे, v-v19, मान-v21 आगे नीचे होंगे।
इस लेआउट को अपनी गतिविधियों के लेआउट में शामिल करें, जिनमें main_activity.xml शामिल हैं:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/Black" >
<include layout="@layout/status_bar"/>
<include android:id="@+id/app_bar" layout="@layout/app_bar"/>
//The rest of your layout
</RelativeLayout>
टूलबार के लिए, शीर्ष मार्जिन विशेषता जोड़ें:
<android.support.v7.widget.Toolbar 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="?android:attr/actionBarSize"
android:background="@color/primaryColor"
app:theme="@style/MyCustomToolBarTheme"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
android:elevation="@dimen/toolbarElevation"
android:layout_marginTop="@dimen/appBarTopMargin"
android:textDirection="ltr"
android:layoutDirection="ltr">
अपने एप्लिकेशनथीम स्टाइल- v19.xml और स्टाइल्स- v21.xml में, विंडोट्रांसक्लाउड एटीआर जोड़ें:
शैलियों- v19.xml, v21:
<resources>
<item name="android:windowTranslucentStatus">true</item>
</resources>
और अंत में, आपके डिमेंस, डिमेंस-वी 19, डिमेन्स-वी 21 पर, टूलबार टॉपमैरिन के लिए मान जोड़ें, और स्टेटस की ऊंचाईहाइट: किटकेैट से कम के लिए डिमेन्स.एक्सएमएल:
<resources>
<dimen name="toolbarElevation">4dp</dimen>
<dimen name="appBarTopMargin">0dp</dimen>
<dimen name="statusBarHeight">0dp</dimen>
</resources>
स्थिति पट्टी की ऊँचाई हमेशा किटकैट और इसके बाद के संस्करण के लिए 24dp डिमेंस- v19.xml है:
<resources>
<dimen name="statusBarHeight">24dp</dimen>
<dimen name="appBarTopMargin">24dp</dimen>
</resources>
Lolipop के लिए dimens-v21.xml, यदि आवश्यक हो तो केवल ऊंचाई जोड़ें:
<resources>
<dimen name="statusBarElevation">4dp</dimen>
</resources>
यह जेलीबीन किटकैट और लॉलीपॉप के लिए परिणाम है: