বিকল্প 1) দ্রুত এবং সহজ উপায় (কেবলমাত্র সরঞ্জামদণ্ড)
যেহেতু appcompat-v7-r23 আপনি নীচের বৈশিষ্ট্যগুলি সরাসরি আপনার Toolbar
বা এর স্টাইলে ব্যবহার করতে পারেন :
app:titleTextColor="@color/primary_text"
app:subtitleTextColor="@color/secondary_text"
যদি আপনার সর্বনিম্ন এসডিকে 23 হয় এবং আপনি নেটিভ ব্যবহার করেন তবে Toolbar
কেবলমাত্র নামস্থানটির উপসর্গটি পরিবর্তন করুন android
।
জাভাতে আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন:
toolbar.setTitleTextColor(Color.WHITE);
toolbar.setSubtitleTextColor(Color.WHITE);
এই পদ্ধতিগুলি একটি রঙ নেওয়া যা কোনও রঙ সংস্থান আইডি নয়!
বিকল্প 2) ওভাররাইড সরঞ্জামদণ্ড শৈলী এবং থিম বৈশিষ্ট্য
বিন্যাস / xxx.xml
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.MyApp.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
style="@style/Widget.MyApp.Toolbar.Solid"/>
মান / styles.xml
<style name="Widget.MyApp.Toolbar.Solid" parent="Widget.AppCompat.ActionBar">
<item name="android:background">@color/actionbar_color</item>
<item name="android:elevation" tools:ignore="NewApi">4dp</item>
<item name="titleTextAppearance">...</item>
</style>
<style name="ThemeOverlay.MyApp.ActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
<!-- Parent theme sets colorControlNormal to textColorPrimary. -->
<item name="android:textColorPrimary">@color/actionbar_title_text</item>
</style>
সাহায্য করুন! আমার আইকনগুলিও রঙ পরিবর্তন করেছে!
@ পিটারকান্ট জানিয়েছে যে এটি ওভারফ্লো বোতাম, নেভিগেশন ড্রয়ার বোতাম এবং পিছনের বোতামের রঙকে প্রভাবিত করে। এটি এর পাঠ্যের রঙও পরিবর্তন করে SearchView
।
আইকন রঙ সম্পর্কিত: colorControlNormal
উত্তরাধিকার সূত্রে
android:textColorPrimary
গা dark় থিমের জন্য (কালো রঙের সাদা)
android:textColorSecondary
হালকা থিমগুলির জন্য (সাদা রঙের উপর কালো)
আপনি যদি এটি অ্যাকশন বারের থিমটিতে প্রয়োগ করেন তবে আপনি আইকনের রঙটি কাস্টমাইজ করতে পারেন।
<item name="colorControlNormal">#de000000</item>
আর -23 পর্যন্ত অ্যাপকম্প্যাট-ভি 7-তে একটি বাগ ছিল যা আপনাকে এর মতো নেটিভ অংশটিকে ওভাররাইড করতে হবে:
<item name="android:colorControlNormal" tools:ignore="NewApi">?colorControlNormal</item>
সাহায্য করুন! আমার অনুসন্ধান ভিউ একটি গোলযোগ!
দ্রষ্টব্য: এই বিভাগটি সম্ভবত অপ্রচলিত।
যেহেতু আপনি অনুসন্ধান উইজেটটি ব্যবহার করেন যা কোনও কারণে অ্যাপকম্প্যাট-ভি 7 এর সাথে অন্তর্ভুক্ত হওয়াটির চেয়ে ভিন্ন ব্যাক তীর (দৃশ্যত, প্রযুক্তিগতভাবে নয়) ব্যবহার করে, তাই আপনাকে এটিকে অ্যাপের থিমটিতে ম্যানুয়ালি সেট করতে হবে । সমর্থন লাইব্রেরির আঁকাগুলি সঠিকভাবে রঙিত হয়। অন্যথায় এটি সবসময় সাদা হবে।
<item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
অনুসন্ধান দেখার পাঠ্য হিসাবে ... কোনও সহজ উপায় নেই। এর উত্সটি খননের পরে আমি টেক্সট ভিউতে যাওয়ার একটি উপায় খুঁজে পেয়েছি। আমি এটি পরীক্ষা করিনি তাই দয়া করে মন্তব্যগুলিতে আমাকে জানান যদি এটি কাজ না করে।
SearchView sv = ...; // get your search view instance in onCreateOptionsMenu
// prefix identifier with "android:" if you're using native SearchView
TextView tv = sv.findViewById(getResources().getIdentifier("id/search_src_text", null, null));
tv.setTextColor(Color.GREEN); // and of course specify your own color
বোনাস: অ্যাকশনবার শৈলী এবং থিমের বৈশিষ্ট্যগুলিকে ওভাররাইড করুন
ডিফল্ট অ্যাকশন অ্যাপকম্প্যাট-ভি 7 অ্যাকশন বারের জন্য উপযুক্ত স্টাইলিং এর মতো দেখতে পাবেন:
<!-- ActionBar vs Toolbar. -->
<style name="Widget.MyApp.ActionBar.Solid" parent="Widget.AppCompat.ActionBar.Solid">
<item name="background">@color/actionbar_color</item> <!-- No prefix. -->
<item name="elevation">4dp</item> <!-- No prefix. -->
<item name="titleTextStyle">...</item> <!-- Style vs appearance. -->
</style>
<style name="Theme.MyApp" parent="Theme.AppCompat">
<item name="actionBarStyle">@style/Widget.MyApp.ActionBar.Solid</item>
<item name="actionBarTheme">@style/ThemeOverlay.MyApp.ActionBar</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>