ললিপপটিতে অ্যাপ্লিকেশনটির সাথে স্ট্যাটাস বারের রঙ কীভাবে পরিবর্তন করবেন? [অ্যান্ড্রয়েড]


96

নতুন ললিপপ আপডেটে আমি লক্ষ্য করেছি যে দেশীয় গুগল অ্যাপ্লিকেশনগুলির সাথে আপনি যে অ্যাপ্লিকেশনটি চালাচ্ছেন তার সাথে অ্যাকশন বারের সাথে মেলে পরিস্থিতি বারের রঙ পরিবর্তন হয়। আমি এটি টুইটার অ্যাপেও দেখতে পাচ্ছি তাই আমি অনুমান করছি এটি কেবল গুগল নয় যারা এটি করতে পারে।

কেউ যদি সম্ভব হয় তবে এটি কীভাবে করা যায় জানেন?

উত্তর:


221

স্ট্যাটাস বারের রঙ পরিবর্তন করতে সেটস্ট্যাটাসবারকলার (ইনট কালার) ব্যবহার করুন । জাভাডোকের মতে, আমাদের উইন্ডোতে কিছু পতাকা সেট করা দরকার।

কোডের স্নিপেট কাজ করছে:

Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(ContextCompat.getColor(activity, R.color.example_color));


মনে রাখবেন অনুযায়ী মেটারিয়াল ডিজাইন নির্দেশিকা স্ট্যাটাস বার রং এবং কর্ম বার রঙ আলাদা হতে হবে:

  • অ্যাকশনবারে প্রাথমিক 500 টি রঙ ব্যবহার করা উচিত
  • স্ট্যাটাসবারে প্রাথমিক 700 টি রঙ ব্যবহার করা উচিত

নীচের স্ক্রিনশটটি দেখুন:

এখানে চিত্র বর্ণনা লিখুন


4
নোট করুন যে প্রভাবটি এমুলেটরটিতে প্রদর্শিত নাও হতে পারে। উদাহরণস্বরূপ, এই নমুনা প্রকল্পটি একটি Nexus 9 এ স্থিতি দণ্ড টিট করে তবে কোনও অ্যান্ড্রয়েড 5.0 এমুলেটরটিতে নয়।
কমন্সওয়্যার

4
@ মেট: আমি অ্যান্ড্রয়েড এসডিকে এমুলেটরটি উল্লেখ করছিলাম। এটি জিনমোশনটিতে কাজ করছে তা জেনে রাখা ভাল।
কমন্সওয়্যার

4
@ আজাদ না, এটা হয় না। উপরের কোডের স্নিপেট ব্যবহার করার জন্য আপনাকে নিশ্চিত করতে হবে যে আপনার ডিভাইসটি এপিআই 21 বা তারও বেশি চলছে on
ক্লিমাট

4
আমি তুলনামূলক সহজ প্রকল্পে কাজ করছি এবং আমার অবশ্যই বলতে হবে যে আমি সবেমাত্র ব্যবহার করেছি getWindow().setStatusBarColor(activity.getResources().getColor(R.color.example_color));এবং এটি পুরোপুরি কার্যকরভাবে কাজ করেছে worked যে প্রসঙ্গে পতাকাগুলি কঠোরভাবে প্রয়োজনীয় তা সম্পর্কে নিশ্চিত নয়।
জোয়াকুইন ইয়ারচুক

4
আমি প্রি ললিপপ ডিভাইসেও রঙটি দেখাতে চাই। এটা কিভাবে করা যাবে?
শুক্রবার 25'15

48

এটি আপনার স্টাইলস.এক্সএমএল যুক্ত করুন। কালারপ্রিমারিটি অ্যাকশন বারের জন্য এবং colorPrimaryDark স্ট্যাটাস বারের জন্য।

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
</style>

বিকাশকারী অ্যান্ড্রয়েডের এই চিত্রটি রঙ প্যালেট সম্পর্কে আরও ব্যাখ্যা করে। আপনি এই লিঙ্কে আরও পড়তে পারেন ।

এখানে চিত্র বর্ণনা লিখুন


অ্যান্ড্রয়েড স্টুডিও প্রতিটি প্রকল্পের জন্য নিম্নলিখিত এন্ট্রি তৈরি করে: <color name="colorPrimary">#somecolor</color>এবং <color name="colorPrimaryDark">#somecolor</color>। পছন্দসই প্রভাব অর্জনের জন্য এগুলি পরিবর্তন করা যেতে পারে।
নিউরোট্রান্সমিটার

41

স্ট্যাটাস বারের রঙ সেট করার আরেকটি উপায় হ'ল স্টাইল.এক্সএমএল এর মাধ্যমে ।

এটি করতে, এই বিষয়বস্তু সহ res / মান- v21 ফোল্ডারে একটি স্টাইল.এক্সএমএল ফাইল তৈরি করুন :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material">
        <!--   darker variant for the status bar and contextual app bars -->
        <item name="android:colorPrimaryDark">@color/blue_dark</item>
    </style>
</resources>

সম্পাদনা: মন্তব্যগুলিতে যেমন উল্লেখ করা হয়েছে, অ্যাপকম্প্যাট ব্যবহার করার সময় কোডটি আলাদা। ফাইল পরিবর্তে / মান / স্টাইল.এক্সএমএল পরিবর্তে:

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">   
    <!-- Set AppCompat’s color theming attrs -->
    <item name="colorPrimary">@color/my_awesome_red</item>
    <item name="colorPrimaryDark">@color/my_awesome_darker_red</item>
    <!-- Other attributes -->
</style>

4
ওটা করেছিলাম. তবে কাজ হয়নি। তবে তারপরে আমি মেটেরিয়ালের পরিবর্তে অ্যাপকম্প্যাট ব্যবহার করি।
মার্টিন

4
@ মার্টিন অ্যাপকম্প্যাটটির জন্য অ্যান্ড্রয়েড উপসর্গ ছাড়াই রঙিনপ্রিমারীডार्क ব্যবহার করুন।
মিশিগেল

পাশাপাশি অ্যাপক্যাম্পেটের জন্য কাজ করছেন না (18 স্তরের পরীক্ষিত)
মোহাম্মদ জেকরুল্লাহ

স্থিতি দণ্ডের রঙটি কেবলমাত্র ওএস এপিআই লেভেল 21 এবং উপরের ডিভাইসগুলিতে কাজ করবে। এছাড়াও, আপনার ম্যানিফেস্টে নিশ্চিত করুন যে আপনি স্বতন্ত্র ক্রিয়াকলাপগুলিতে এই স্টাইলটিকে ওভাররাইড করছেন না।
লেভন

অ্যাপ্লিকেশন রঙের মতো অনুসন্ধানবারের বর্ণটি কীভাবে পরিবর্তন করা যায় তা ইনপথ ব্রাউজারের জন্য
আর.আনন্দন

23

স্ট্যাটাস বারের রঙ সেট করতে, এই কন্টেন্টটি দিয়ে res / মান-v21 ফোল্ডারের অধীনে একটি স্টাইল.এক্সএমএল ফাইল তৈরি করুন:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="AppBaseTheme" parent="AppTheme">
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@color/blue</item>
    </style>

</resources>

এটি বলেছে যে প্রতীক উইন্ডোটি সমাধান করতে পারে না ড্রসসিস্টেমবারব্যাকগ্রাউন্ডস
jmhostalet

4

আপনি যদি দুটি স্টাইল ব্যবহার করেন তবে এই লাইনের ভি 21 এর স্টাইলটিতে যুক্ত করুন।

  <item name="android:statusBarColor">#43434f</item>

পতাকা স্থাপন ছাড়া এটি কাজ করে নাandroid:windowDrawsSystemBarBackgrounds
স্লাভ

4

এছাড়াও যদি আপনি status-barবিভিন্ন ক্রিয়াকলাপের ( টুকরা ) জন্য আলাদা রঙ চান তবে আপনি নীচের পদক্ষেপগুলি দিয়ে এটি করতে পারেন (এপিআই 21 এবং উপরের কাজ করুন):

প্রথমে values21/style.xmlনিম্নলিখিত কোড তৈরি করুন এবং রাখুন:

 <style name="AIO" parent="AIOBase">
            <item name="android:windowDrawsSystemBarBackgrounds">true</item>
            <item name="android:windowContentTransitions">true</item>
    </style>

তারপরে আপনার values/style.xmlনীচের মতো সাদা | গা themes় থিম সংজ্ঞা দিন :

 <style name="AIOBase" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/color_primary</item>
        <item name="colorPrimaryDark">@color/color_primary_dark</item>
        <item name="colorAccent">@color/color_accent</item>
        <item name="android:textColorPrimary">@android:color/black</item>
        <item name="android:statusBarColor" tools:targetApi="lollipop">@color/color_primary_dark
        </item>
        <item name="android:textColor">@color/gray_darkest</item>
        <item name="android:windowBackground">@color/default_bg</item>
        <item name="android:colorBackground">@color/default_bg</item>
    </style>


    <style name="AIO" parent="AIOBase" />

    <style name="AIO.Dark" parent="AIOBase">
        <item name="android:statusBarColor" tools:targetApi="lollipop">#171717
        </item>
    </style>

    <style name="AIO.White" parent="AIOBase">
        <item name="android:statusBarColor" tools:targetApi="lollipop">#bdbdbd
        </item>
    </style>

আপনার থিম প্রয়োগ করতে ভুলবেন না manifest.xml


2

অ্যান্ড্রয়েড পূর্বের ললিপপ ডিভাইসে আপনি এটি সিস্টেমবার্টিন্ট ম্যানেজার থেকে করতে পারেন আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করছেন তবে আপনার গ্রেড ফাইলটিতে কেবল সিস্টেমবার্টিন্ট লিব যুক্ত করুন।

dependencies {
    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    ...
}

তারপরে আপনার ক্রিয়াকলাপে

// create manager instance after the content view is set
SystemBarTintManager mTintManager = new SystemBarTintManager(this);
// enable status bar tint
mTintManager.setStatusBarTintEnabled(true);
mTintManager.setTintColor(getResources().getColor(R.color.blue));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.