কীভাবে কাস্টম অ্যাকশনবার রঙ / স্টাইল সেট করবেন?


89

আমি Android Navigation barআমার প্রকল্পে ব্যবহার করছি , আমি অ্যাকশন বারের শীর্ষ রঙটি লাল কিছুতে পরিবর্তন করতে চাই, আমি কীভাবে এটি করতে পারি? আমার এরকম কিছু আছে,

শীর্ষ কালো

এবং আমি এই জাতীয় কিছু চাই,

শীর্ষ লাল

আমি কীভাবে এটি অর্জন করতে পারি?

উত্তর:


176

আপনি কাস্টম স্টাইল তৈরি করে অ্যাকশনবারের (এবং অন্যান্য স্টাফ) রঙ নির্ধারণ করতে পারেন :

আপনার অ্যান্ড্রয়েড প্রকল্পের রেস / মান / স্টাইল.এক্সএমএল ফাইলটি কেবল সম্পাদনা করুন ।

উদাহরণস্বরূপ:

<resources>
    <style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
    </style>

    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

তারপরে অ্যাকশনবার সহ আপনার ক্রিয়াকলাপের থিম হিসাবে "মাইকাস্টম থেম" সেট করুন।

আপনি এই জাতীয় অ্যাকশনবারের জন্য একটি রঙ সেট করতে পারেন:

ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.RED)); // set your desired color

এখান থেকে নেওয়া হয়েছে: এক্সএমএল ব্যবহার করে আমি কীভাবে অ্যাকশনবার অ্যাক্টিভিটির অ্যাকশনবারের পটভূমির রঙ পরিবর্তন করব?


4
"তারপরে" MyCustomTheme "কে আপনার ক্রিয়াকলাপের থিম হিসাবে সেট করুন যা অ্যাকশনবার রয়েছে তার অর্থ কী?" আমি কেমন করে ঐটি করি?
কালা জে

4
আপনার কার্যকলাপের এক্সএমএল আপনি যোগ করতে হবে থিম = "@ শৈলী / MyCustomTheme": অ্যান্ড্রয়েড <android.support.v4.view.ViewPager ... /> ট্যাগ ভিতরে paremeter যেমন
PedroD

4
অ্যান্ড্রয়েডের 12 টি মান এবং 21 টি স্টাইলস.এক্সএমএল ফাইলের মূল্যগুলি কী হবে
হর্ষ

স্টাইল শিরোনামটি বদলে কেউ কীভাবে যাবে?
অ্যাডাম হুরউইজ

@ কালাজে setTheme(R.style.MyCustomTheme) আপনার ক্রিয়াকলাপের অনক্রিট পদ্ধতিতে ব্যবহার করুন।
নালবাইট08

59

সাধারণভাবে অ্যান্ড্রয়েড ওএস অ্যাপ্লিকেশন বিকাশকারীদের সামগ্রিকভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিতে ইউআই এলিমেন্ট স্টাইলিং পরামিতিগুলির সার্বজনীন সেট প্রয়োগ করতে, বা বিকল্পভাবে, একক ক্রিয়াকলাপ সাবক্লাসে প্রয়োগ করতে একটি "থিম" সরবরাহ করে।

সুতরাং তিনটি মূলধারার অ্যান্ড্রয়েড ওএস "সিস্টেম থিম," রয়েছে যা আপনি যখন আপনার সংস্করণ 3.0 এবং পরবর্তী সংস্করণগুলির জন্য অ্যাপ্লিকেশন বিকাশ করছেন তখন আপনি আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট এক্সএমএল ফাইলটিতে নির্দিষ্ট করতে পারেন

আমি এখানে (অ্যাপক্যাম্প্যাট) সমর্থন লাইব্রেরিটি উল্লেখ করছি: - সুতরাং তিনটি থিমটি হ'ল 1. অ্যাপকম্প্যাট লাইট থিম (থিম.অ্যাপকম্প্যাট.লাইট)

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

  1. অ্যাপকোম্প্যাট ডার্ক থিম (থিম। অ্যাপকম্প্যাট),

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

  1. এবং এই দুটির মধ্যে একটি হাইব্রিড, ডার্কার অ্যাকশনবারের সাথে অ্যাপকম্প্যাট লাইট থিম Theme

অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এবং ট্যাগটি দেখুন, অ্যান্ড্রয়েড থিমটি উল্লেখ করা হয়েছে: - অ্যান্ড্রয়েড: থিম = "@ শৈলী / অ্যাপ থিম"

স্টাইলস.এক্সএমএল খুলুন এবং আমাদের সেখানে বেস অ্যাপ্লিকেশন থিম ঘোষণা করা হয়েছে: -

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  </style>

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

বিভিন্ন রঙের পটভূমি সহ অ্যাকশনবার: -

এটি করার জন্য আমাদের @ স্টাইল / উইজেট.অ্যাপকম্প্যাট.লাইট.অ্যাকশনবার.সোলিড.এর বিপরীতে একটি নতুন স্টাইল মাইঅ্যাকশনবার (আপনি কোনও নাম দিতে পারেন) তৈরি করতে হবে যা অ্যান্ড্রয়েড অ্যাকশনবার ইউআই উপাদানটির জন্য স্টাইল বৈশিষ্ট্য ধারণ করে। সুতরাং সংজ্ঞা হবে

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@color/red</item>
</style>

এবং এই সংজ্ঞাটি আমাদের আমাদের অ্যাপপ্লেমে রেফারেন্স করতে হবে, ওভাররাইড হওয়া অ্যাকশনবারার স্টাইলিং হিসাবে নির্দেশ করে--

@ শৈলী / MyActionBar গোলাপী ব্যাকগ্রাউন্ড রঙ সহ অ্যাকশনবার

শিরোনাম বারের পাঠ্যের রঙ পরিবর্তন করুন (উদাহরণস্বরূপ সাদা থেকে সাদা): -

এখন শিরোনাম পাঠ্যের রঙ পরিবর্তন করতে, আমাদের প্যারেন্ট রেফারেন্স প্যারেন্ট = "@ স্টাইল / টেক্সটএপরিয়েন্স.অ্যাপকম্প্যাট.বিজেট.অ্যাকশনবার.টাইটেল"> ওভাররাইড করতে হবে

স্টাইল সংজ্ঞা হবে

<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

আমরা এই স্টাইল সংজ্ঞাটি মাইঅ্যাকশনবার শৈলীর সংজ্ঞার অভ্যন্তরে উল্লেখ করব , যেহেতু শিরোনাম পাঠ্য স্টাইল পরিবর্তনটি অ্যাকশনবারের পিতা ওএস ইউআই উপাদানগুলির একটি শিশু উপাদান। সুতরাং MyActionBar শৈলীর উপাদানটির চূড়ান্ত সংজ্ঞা হবে

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@color/red</item>
    <item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>

সুতরাং এটিই চূড়ান্ত স্টাইলস.এক্সএমএল

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- This is the styling for action bar -->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="background">@color/red</item>
        <item name="titleTextStyle">@style/MyActionBarTitle</item>
    </style>

    <style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
    </style>
</resources>

সাদা শিরোনাম রঙ সহ অ্যাকশনবার আরও অ্যাকশনবার বিকল্পগুলির জন্য মেনু স্টাইলিং, এই লিঙ্কটি উল্লেখ করুন


4
আরে মানুষ এটা কাজ করে। একটি সন্দেহ কি আমি যদি মেনু ওভারফ্লো আইকনের রঙ পরিবর্তন করতে চাই তবে এটি আমাদের থিম অনুসারে রঙ পরিবর্তন করে? ডার্ক থিমের জন্য সাদা আইকন এবং হালকা থিমের জন্য গা dark় আইকন, আমি কীভাবে এটি সাদাতে পরিবর্তন করতে পারি? আপনার উত্তরের শেষ চিত্রটি বিবেচনা করুন।
আমীন মাহিন

33

অ্যান্ড্রয়েড 3.0 এবং শুধুমাত্র উচ্চতর জন্য For

অ্যান্ড্রয়েড 3.0.০ এবং কেবলমাত্র উচ্চতরকে সমর্থন করার সময় আপনি অ্যাকশন বারের ব্যাকগ্রাউন্ডটি এই জাতীয় সংজ্ঞা দিতে পারেন:

রেস / মান / থিমস.এক্সএমএল

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar">
       <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

<!-- ActionBar styles -->
  <style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
       <item name="android:background">#ff0000</item>
  </style>
</resources>

অ্যানড্রয়েড ২.১ এবং উচ্চতর ক্ষেত্রে

সাপোর্ট লাইব্রেরিটি ব্যবহার করার সময়, আপনার স্টাইলের এক্সএমএল ফাইলটি দেখতে এর মতো হতে পারে:

<?xml version="1.0" encoding="utf-8"?>
  <resources>
  <!-- the theme applied to the application or activity -->
 <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@drawable/actionbar_background</item>

    <!-- Support library compatibility -->
    <item name="background">@drawable/actionbar_background</item>
  </style>
 </resources>

তারপরে আপনার থিমটি আপনার সম্পূর্ণ অ্যাপ্লিকেশন বা স্বতন্ত্র ক্রিয়াকলাপে প্রয়োগ করুন:

আরও তথ্যের জন্য ডকুমেন্টেশন


এটি আশ্চর্যের বিষয়: আপনি অ্যান্ড্রয়েড 3.0.০ এবং উচ্চতর পুরানো স্টাইল (হোলো) ২.১ এর চেয়ে বেশি এবং উচ্চতর (ম্যাটেরিয়াল ডিজাইন / অ্যাপকম্প্যাট) দিয়েছেন ...
রোয়েল

@ ডালভিকভিএম হ্যাঁ ... অ্যাপকম্প্যাটটি পুরানো সংস্করণগুলির জন্য। উচ্চতর সংস্করণগুলির জন্য এটি ব্যবহার করার দরকার নেই। এই উত্তরের সময় উপাদানগুলির নকশা প্রবর্তন করা হয়নি।
কেতন আহির

আমি একটি ত্রুটি পাচ্ছি: সমস্যাটি সমাধানের No resource found that matches the given name '@style/Widget.Holo.Light.ActionBar.Solid.Inverse'.জন্য এটি পরিবর্তন করা android:style/Widget.Holo.Light.ActionBar.Solid.Inverse। ধন্যবাদ
অ্যানি লাগাং

@ শৈলী / থিম.অ্যাপকম্প্যাট.লাইট.ডार्ক অ্যাকশনবারটি আমার ক্ষেত্রে সমাধান করা যাবে না (অ্যান্ড্রয়েড স্টুডিও) - এটি কি @ অ্যান্ড্রয়েড না হওয়া উচিত: শৈলী / থিম.এপকম্প্যাট.লাইট.ডार्কএ্যাকশনবার - অর্থাত্ স্টাইলের আগে একটি প্রিপেন্ডেড "অ্যান্ড্রয়েড" দিয়ে?
এজেন্টকনফফ

32

আপনি এইভাবে অ্যাকশন বারের রঙ পরিবর্তন করতে পারেন:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/green_action_bar</item>
</style>

অ্যাকশন বারের রঙ পরিবর্তন করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছু।

এছাড়াও আপনি যদি স্ট্যাটাস বারের রঙ পরিবর্তন করতে চান তবে কেবল লাইনটি যুক্ত করুন:

 <item name="android:colorPrimaryDark">@color/green_dark_action_bar</item>

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

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


7

তৈরির আর একটি সম্ভাবনা।

অ্যাকশনবার.সেটব্যাকগ্রাউন্ডড্রেইবল (নতুন কালারড্র্যাবেবল (কালার। পার্সক্লোর ("# 0000 ফাফ")));


5

আমি টেক্সটকলার শিরোনাম ব্যবহার করে অ্যাকশনবার পাঠ্যের রঙ পরিবর্তন করতে পারি

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="titleTextColor">#333333</item>
</style>

4

কাস্টম রঙ:

 <style name="AppTheme" parent="Theme.AppCompat.Light">

                <item name="colorPrimary">@color/ColorPrimary</item>
                <item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
                <!-- Customize your theme here. -->
     </style>

কাস্টম স্টাইল:

 <style name="Theme.AndroidDevelopers" parent="android:style/Theme.Holo.Light">
        <item name="android:selectableItemBackground">@drawable/ad_selectable_background</item>
        <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
        <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
        <item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
        <item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
        <item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>
    </style>

আরও জন্য: অ্যান্ড্রয়েড অ্যাকশনবার


3

যেহেতু আমি AppCompatActivityউপরের উত্তরগুলি ব্যবহার করছিলাম সেগুলি আমার পক্ষে কার্যকর হয়নি। তবে নীচের সমাধানটি কাজ করেছে:

ইন মাঝামাঝি / styles.xml

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


পিএস: আমি এর colorPrimaryপরিবর্তে ব্যবহার করেছিandroid:colorPrimary


1

শৈলীতে। xml এই কোডটি যুক্ত করুন

<resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyAction</item>
    </style>

    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">#333333</item>
    </style>
</resources>

0

এটি ব্যবহার করুন - http://jgilfelt.github.io/android-actionbarstylegenerator/

কয়েক মিনিটের মধ্যে লাইভ পূর্বরূপ সহ আপনার অ্যাকশনবারটি কাস্টমাইজ করার ভাল সরঞ্জাম।


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