অ্যান্ড্রয়েড স্ট্যাটাসবার আইকনের রঙ


131

আমি ভাবছিলাম যদি এটা স্ট্যাটাস পরিবর্তন করতে সম্ভব আইকন রঙ ( না স্ট্যাটাস-রঙ, colorPrimaryDark) এখানে চিত্র বর্ণনা লিখুন আসুন বলে আমি এই স্ট্যাটাস দিয়ে চাই:
<item name="colorPrimaryDark">@android:color/white</item>

এবং আইকনগুলি কালো, এটি কি সম্ভব?

ধন্যবাদ।

সম্পাদনা করুন:

এম বিকাশকারী পূর্বরূপে নতুন: উইন্ডোলাইটস্ট্যাটাসবার। আপনার থিমটিতে এটিকে উল্টানো সিস্টেমকে হালকা রঙের স্ট্যাটাস বারগুলির জন্য একটি অন্ধকার অগ্রভাগ ব্যবহার করতে বলে। দ্রষ্টব্য এম প্রিভিউতে একটি বাগ রয়েছে বলে মনে হচ্ছে যেখানে বিজ্ঞপ্তি আইকনগুলি সাদা থাকবে, যখন সিস্টেমের স্থিতি আইকনগুলি সঠিকভাবে সেমিট্রান্স্টেন্ট ব্ল্যাকতে পরিবর্তিত হয়।

থেকে: রোমান নুরিক Google+ পোস্ট এখানে চিত্র বর্ণনা লিখুন

উত্তর:


24

ললিপপ থেকে নয়। অ্যান্ড্রয়েড 5.0 দিয়ে শুরু করে, নির্দেশিকাটি বলে:

বিজ্ঞপ্তি আইকন অবশ্যই সম্পূর্ণ সাদা হতে হবে।

তা না হলেও, সিস্টেমটি কেবল আপনার আইকনের আলফা চ্যানেলটি বিবেচনা করবে এবং এগুলিকে সাদা করে দেবে

কার্যসংক্রান্ত

ললিপপটিতে রঙিন আইকন থাকার একমাত্র উপায় হ'ল আপনার targetSdkVersionমানগুলিকে কম করা <21, তবে আমি মনে করি আপনি কেবল গাইডলাইনগুলি অনুসরণ করতে এবং কেবল সাদা আইকন ব্যবহার করতে আরও ভাল করতে পারেন।

আপনি যদি এখনও রঙিন আইকন চান তা স্থির করেন তবে আপনি নতুন ভি 4 সমর্থন লাইব্রেরি থেকে DrawableCompat.setTint পদ্ধতিটি ব্যবহার করতে পারেন ।


3
আমি কিছু গুগল অনুসন্ধান করেছি এবং আমি এর সঠিক কোনও উপায় খুঁজে পাইনি তবে অ্যান্ড্রয়েড নির্দেশিকা যদি বলে যে আইকনগুলি অবশ্যই সাদা, সাদা হয় :) ধন্যবাদ!
গিলহ

11
এর জন্য আরও ভাল কাজ হতে হবে। বেশ কয়েকটি বাণিজ্যিক অ্যাপ্লিকেশন রঙ ব্যবহার করছে। এটি গুগলের দ্বারা ভয়াবহভাবে বোকামি নকশার পদক্ষেপ। তারা আবার কি ভাবছিল, যদি আদৌ?
not2qubit

আপনি যদি গুগলের নিউজ অ্যাপটিতে দেখেন তবে তাদের কাছে সাদা স্ট্যাটাস বার আইকন নেই: play.google.com/store/apps/…
অ্যাডাম হুরভিটস

6
<item name="android:windowLightStatusBar">true</item>আমার জন্য কাজ।
অ্যাডাম হুরউইজ

আমি ভাবছি কেন Gmail অ্যাপ (2019-04-এ প্রকাশিত হয়েছে) স্ট্যাটাস বারটি সাদা এবং আইকনগুলি / পাঠ্যকে গা dark়-ধূসর করে।
ড্যানিয়েল এফ

201

হ্যাঁ এটিকে ধূসরতে পরিবর্তন করা সম্ভব (কোনও কাস্টম রঙ নেই) তবে এটি কেবল এপিআই 23 থেকে কাজ করে এবং উপরে আপনাকে কেবল এটির আপনার মান-v23 / স্টাইল.এক্সএমএল যুক্ত করতে হবে

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

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


2
তবে এর মেনু আইটেমগুলির আইকনগুলির রঙ এখনও সাদা এটির মেনু আইটেম আইকনগুলির রঙ কীভাবে কালো পরিবর্তন করবেন?
মতিন চৌধুরী চৌধুরী

107

আমরা কীভাবে এক্সএমএল এর মাধ্যমে স্ট্যাটাস বারের আভা বদলাতে পারি তার উত্তর আমরা উত্তর দিয়েছি has তবে আমরা কোডগুলিতে এটিকে পরিবর্তনশীলও করতে পারি:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    View decor = getWindow().getDecorView();
    if (shouldChangeStatusBarTintToDark) {
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
    } else {
        // We want to change tint color to white again.
        // You can also record the flags in advance so that you can turn UI back completely if
        // you have set other flags before, such as translucent or full screen.
        decor.setSystemUiVisibility(0);
    }
}

চমৎকার সমাধান! এটি আমার অ্যাপ্লিকেশনটির জন্য সত্যিই উপযুক্ত ছিল কারণ আমাকে এসডিকে সংস্করণ পরিবর্তন করতে হয়নি।
ভিজিটর ব্রাগা

2
এটি আরও সঠিক: ডেকোরভিউ.সেটসিসটেমউইভিজিবিবিলিটি (ডেকোরভিউ.সেটসটিউমইভিজিবিলিটি () | ভিউ.সাইএসটিএম_ইউআইএফএলজি_লাইট_এসএটিএসটিউস_বার);
আন্তন সাভেনোক

এই আমার দিন বাঁচা! আপনাকে ধন্যবাদ @ ywwynm!
রেগ্যাসএলজেডআর

এটি সেরা সমাধান, এমআই ফোনেও কাজ করে। তুমি একজন ত্রাণকর্তা!
নুমনক্মর

হ্যাডচ্যাঞ্জস্ট্যাটাসবার্টিন্টডার্ক দয়া করে কি ??
ইব্রাহামসিন

48

আপনার যদি 23 এর চেয়ে কম এপিআই স্তর থাকে তবে আপনাকে অবশ্যই এটি এইভাবে ব্যবহার করতে হবে। এটা আমার জন্য কাজ অধীনে এই ঘোষণা v21 / শৈলী

<item name="colorPrimaryDark" tools:targetApi="23">@color/colorPrimary</item>
        <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>

1
আপনার অর্থ 23. :(
মেডিট্যাট

না আমি ভি 21 / স্টাইল বলতে চাইছি যদি আপনি এই লিঙ্কটি দেখতে যান তার চেয়ে আপনি যদি এটি সম্পর্কে না জানেন। stackoverflow.com/questions/28465064/creating-styles-v21-xML
রিতেশ

এমনকি যদি ভি 21 কোয়ালিফায়ার সহ কোনও স্টাইলস.এক্সএমএল স্থাপন করা হয় তবে এটি কেবল এপিআই 23 এবং তদুর্ধের ডিভাইসগুলিতে কাজ করে। আসলে এএস লিন্ট এই আইটেমগুলিকে হুঁশিয়ারি দিয়ে বলেছে যে এটি অ্যান্ড্রয়েড সংস্করণগুলিতে উপেক্ষা করা হবে যা এটি সমর্থন করে না। tools:targetApi="23"অংশ Lint বলে এই সতর্কবার্তা দমন করতে।
সুবারু তাশিরো

5

এমআই ফোন, কিছু মিজু ফোন, ব্ল্যাকভিউ ফোন, উইলিফক্স ইত্যাদির সাথে কাজ না windowLightStatusBarকরার জন্য সেট করে trueআমি এই জাতীয় হ্যাক পেয়েছি মি এবং Meizu ডিভাইসের জন্য। এটি এই পারফোলেন্স সমস্যার কোনও ব্যাপক সমাধান নয়, তবে এটি কারও পক্ষে কার্যকর হবে।

এবং আমি মনে করি, আপনার গ্রাহককে বলা ভাল হবে যে রঙিন স্ট্যাটাস বার (উদাহরণস্বরূপ) সাদা - এটি ভাল ধারণা নয়। পরিবর্তে বিভিন্ন হ্যাক ব্যবহার colorPrimaryDarkকরার চেয়ে গাইডলাইন অনুযায়ী উপযুক্ত সংজ্ঞা দেওয়া ভাল


-3

হ্যাঁ আপনি এটি পরিবর্তন করতে পারেন। তবে এপিআই 22 এবং উপরে, নোটিফিকেশনকম্প্যাট.বিল্ডার এবং সেট কালারাইজড (সত্য) ব্যবহার করে:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, context.getPackageName())
                .setContentTitle(title)
                .setContentText(message)
                .setSmallIcon(icon, level)
                .setLargeIcon(largeIcon)
                .setContentIntent(intent)
                .setColorized(true)
                .setDefaults(0)
                .setCategory(Notification.CATEGORY_SERVICE)
                .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
                .setPriority(NotificationCompat.PRIORITY_HIGH);

তুমি কি নিশ্চিত? ডকুমেন্টেশন বলছে "সেট করা হলে সেট কালার (ইনট) সহ রঙ সেটটি এই বিজ্ঞপ্তির ব্যাকগ্রাউন্ড রঙ হিসাবে ব্যবহৃত হবে।" এবং "বেশিরভাগ শৈলীর জন্য, রঙিনটি কেবল তখনই প্রয়োগ করা হবে যদি বিজ্ঞপ্তিটি অগ্রভাগ পরিষেবা বিজ্ঞপ্তির জন্য হয়" " আইকনের অগ্রভাগের রঙটি পরিবর্তন করা সম্ভব বলে মনে হচ্ছে না।
ডোমিনিক

এটি কেবল অগ্রভাগের বিজ্ঞপ্তিগুলির জন্য এবং কেবলমাত্র বিজ্ঞপ্তি আইটেমটিতে প্রযোজ্য - বিজ্ঞপ্তি আইকন নয়।
সুবারু তাশিরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.