অ্যান্ড্রয়েডে টুলবারের ব্যাক বোতামের রঙ কীভাবে পরিবর্তন করবেন?


100

আমি পিছনের বোতামের রঙ পরিবর্তন করতে পারিনি। আমি টুলবার মেটাল ডিজাইন ব্যবহার করছি। আমার অ্যাপ্লিকেশনটিতে আমি টুল বারের কালো ব্যাকগ্রাউন্ড প্রয়োগ করছি তবে পিছনের নকশাটি ডিফল্টরূপে কালো হচ্ছে তাই আমি কেবল এই পিছনের বোতামটির রঙ পরিবর্তন করতে চাই। আমাকে সমাধান দিন।

ধন্যবাদ


4
<শৈলীর নাম = "মাইমেটারিয়াল থিম.বেস" অভিভাবক = "থিম.অ্যাপকম্প্যাট.লাইট.ডর্ক অ্যাকশনবার">
নাজিমা কাউসার এমএমএফ

উত্তর:


79

এই শৈলী ব্যবহার করুন

<style name="Theme.MyFancyTheme" parent="android:Theme.Holo">
    <item name="android:homeAsUpIndicator">@drawable/back_button_image</item>
</style>

আমি এই স্টাইল ব্যবহার করছি। এই স্টাইলে আমাকে কী পরিবর্তন করতে হবে?
নাজিমা কাউসার এমএমএফ

আপনি ব্যাক বোতামের জন্য কাস্টম চিত্র ফাইলগুলি ব্যবহার করতে পারেন it @ ড্রয়েবল / আপনার_মেজে 'এ কল করুন
আখিল জয়কুমার

এটি করার সেরা উপায় এটি। কারণ রঙ পরিবর্তন করতে আর.ড্রেবএল.এবসি_ইক_এব_ব্যাক_ব্রিজি_মিটল_ম_আলফা ব্যবহার করা ঝুঁকিপূর্ণ রয়েছে, কারণ সমর্থন সংস্করণটি প্রায়শই অঙ্কনযোগ্য উত্সকে পরিবর্তন করে।
মোস্তফা ইমরান

196

আপনি আপনার স্টাইলগুলিতে একটি স্টাইল যুক্ত করতে পারেন x xML,

<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
  <!-- Customize color of navigation drawer icon and back arrow --> 
  <item name="colorControlNormal">@color/toolbar_color_control_normal</item>
</style>

এবং থিম হিসেবে এই অ্যাড আপনার টুলবারে টুলবার ব্যবহার layout.xml অ্যাপ: থিম , নীচের পরীক্ষা

<?xml version="1.0" encoding="utf-8"?>
<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="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:theme="@style/ToolbarTheme" >
</android.support.v7.widget.Toolbar>

4
কবজির মতো কাজ করেছেন এবং সবচেয়ে উপযুক্ত বলে মনে হচ্ছে।
বিজয় কুমার কান্ত

4
ডার্ন এটা কাজ করে। এখন আমার আইওএসের জন্য কিছু সমতুল্য দরকার। ধন্যবাদ!
আর্নেস্তো

যদিও এটিকে টুলবার
থিম

4
আমার জন্য <শৈলীর নাম = "সরঞ্জামদণ্ডের থিম" প্যারেন্ট = "@ শৈলী / থিম App অ্যাপকম্প্যাট.নো অ্যাকশনবার"> কাজ করেছে। আমার প্রধান অ্যাপ্লিকেশন থিমটি হ'ল <স্টাইলের নাম = "অ্যাপ থিম" প্যারেন্ট = "থিম.অ্যাপকম্প্যাট.নো অ্যাকশনবার">
ইয়ার

4
এটা কাজ করেছে. এটি গৃহীত উত্তরের চেয়ে বেশি উপযুক্ত।
ডোমেনিকো

86

app:themeসরঞ্জামদণ্ডের জন্য হালকা এবং গাark় থিম অর্জনের সহজতম উপায় You আপনাকে সরঞ্জামদণ্ডের ট্যাগের মান পরিবর্তন করতে হবে

  • জন্য কালো টুলবার শিরোনাম এবং কালো Up Arrow , আপনার টুলবার থিম নিম্নলিখিত বাস্তবায়ন করা উচিত:

অ্যাপ্লিকেশন: থিম = "@ শৈলী / থিমঅভারলে। অ্যাপকম্প্যাট.লাইট"

কালো টুলবার শিরোনাম এবং তীর উপরে

  • জন্য হোয়াইট টুলবার শিরোনাম এবং হোয়াইট Up Arrow , আপনার টুলবার থিম নিম্নলিখিত বাস্তবায়ন করা উচিত:

অ্যাপ্লিকেশন: থিম = "@ শৈলী / থিমঅভারলে। অ্যাপকম্প্যাট"

হোয়াইট টুলবার শিরোনাম এবং উপরে তীর


66
হোয়াইট টুলবার শিরোনাম এবং হোয়াইট আপ তীর জন্য, নিম্নলিখিত থিমটি ব্যবহার করুন: অ্যান্ড্রয়েড: থিম = "@ শৈলী / থিমঅভারলে। অ্যাপকম্প্যাট.ডর্ক.অ্যাকশনবার"
আমোল পাতিল

আমি বুঝতে চেষ্টা করছি, কেন এটি থিমঅভারলে নামকরণ করা হয়েছে? আমি এখানে কেন কেবল সহজ থিম.অ্যাপকম্প্যাট.ডार्খ.অ্যাকশনবার ব্যবহার করতে পারি না?
গেকেট

@ ch3tanz আপনি কি অ্যাকশনবার বা সরঞ্জামদণ্ড ব্যবহার করছেন? আপনি অ্যাকশনবারের স্টাইলগুলি ব্যবহার করেন কেন?
f470071

@ f470071 আমি সরঞ্জামদণ্ড ব্যবহার করছি। এটি কেবল স্টাইল যা সমস্ত সংস্করণে সমর্থন করবে। আপনার অ্যাপটি ললিপপের উপরে লক্ষ্য করে থাকলে আপনি মেটালিয়াল ডিজাইনের স্টাইলগুলি ব্যবহার করতে পারেন।
ch3tanz

Theme.AppCompat.Light.DarkActionBarআমার ক্ষেত্রে.
এভি গান

30

সাদা টুলবার শিরোনাম এবং হোয়াইট আপ তীর জন্য, নিম্নলিখিত থিমটি ব্যবহার করুন:

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

অনেক অনেক ধন্যবাদ, সর্বোপরি সমাধানগুলি কেবল এটি আমার জন্য কাজ করে।
মোঃ জুয়েল রানা

20

এটা ব্যবহার কর:

<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="colorControlNormal">@color/white</item> 
</style>

4
এটি গ্রহণ করা উচিত। এখানে প্রতিটি উত্তর কেবল রঙের নয়, আইকন প্রতিস্থাপনের জন্য।
মিশা জাবোসস্কি

12

এটা চেষ্টা কর,

final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.grey), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);

6

আপনার এটির জন্য স্টাইল পরিবর্তন করতে হবে না। অ্যাকশনবার হিসাবে আপনার সরঞ্জামদণ্ড স্থাপন করার পরে, আপনি এই জাতীয় কোড করতে পারেন

android.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
android.getSupportActionBar().setHomeAsUpIndicator(R.drawable.back);
//here back is your drawable image

তবে আপনি এই পদ্ধতিতে পিছনের তীরের রঙ পরিবর্তন করতে পারবেন না


6

আপনি যদি হোয়াইট ব্যাক বোতাম (←) এবং সাদা টুলবার শিরোনাম চান তবে এটি অনুসরণ করুন:

<android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.AppBarLayout>

থেকে থিম পরিবর্তন করুন Darkথেকে Lightযদি আপনি কালো ব্যাক বোতাম (←) এবং কালো টুলবার শিরোনাম চাই।


5

আপনি app:navigationIconশিরোনাম রঙ ব্যবহার করে এবং নিজের আইকন ব্যবহার করতে পারেনapp:titleTextColor

উদাহরণ:

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"
        android:background="@color/colorPrimary"
        app:navigationIcon="@drawable/ic_arrow_back_white_24dp"
        app:titleTextColor="@color/white" />

এটি আমার পক্ষে এই লাইনটি ব্যবহার করে যে কোনও আইকন সেট করেছেapp:navigationIcon="@drawable/ic_back_black"
অভিষেক

এটা সাহায্য করেছে।
মোহাম্মদ নাগে

4

আমি মনে করি যদি থিমটিকে কিছু সমস্যা উত্পন্ন করা উচিত তবে এটির গতিশীলভাবে কালো তীর সেট করা আছে o সুতরাং আমি প্রস্তাবিত এটি চেষ্টা করে দেখুন।

Drawable backArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
backArrow.setColorFilter(getResources().getColor(R.color.md_grey_900), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(backArrow);

4
আপনার সমাধান @ পার্থ ভায়ানী থেকে কীভাবে আলাদা?
কুলমাইন্ড

4

কেবলমাত্র MaterialToolbarডিফল্ট রঙগুলিকে ওভাররাইড করুন:

    <com.google.android.material.appbar.MaterialToolbar
        style="@style/Widget.MaterialComponents.Toolbar.Primary"
        android:theme="@style/MyThemeOverlay_Toolbar"
        ..>

সঙ্গে:

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- color used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/...</item>
  </style>

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

আপনি যদি ডিফল্ট স্টাইল ( ) সহ androidx.appcompat.widget.Toolbarবা ব্যবহার করে থাকেন তবে আপনি ব্যবহার করতে পারেন:MaterialToolbarWidget.MaterialComponents.Toolbar

<androidx.appcompat.widget.Toolbar
    android:theme="@style/MyThemeOverlay_Toolbar2"

সঙ্গে:

  <style name="MyThemeOverlay_Toolbar2" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- This attributes is used by title -->
    <item name="android:textColorPrimary">@color/white</item>

    <!-- This attributes is used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/secondaryColor</item>
  </style>

3

আমি <style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar>আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশন এবং NoActionBar থিমটিতে থিম colorControlNormalব্যবহার করছি , সম্পত্তিটি আমার সরঞ্জামদণ্ডে নেভিগেশন আইকন ডিফল্ট পিছনে বোতামের তীর রঙ পরিবর্তন করতে ব্যবহৃত হয়

styles.xML

<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="colorControlNormal">@color/your_color</item> 
</style>

2

সহজ এবং কোন উদ্বেগ নেই

 <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:titleTextColor="@color/white"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        </android.support.design.widget.AppBarLayout>

        <include layout="@layout/testing" />

    </android.support.design.widget.CoordinatorLayout>

2

আমি উপাদান উপাদান লাইব্রেরি ব্যবহার করে এটি করেছি:

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
</style>

<style name="AppTheme.DrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="color">@android:color/white</item>
</style>

এটি কাজ করে: এটি আপনাকে হ্যামবার্গার মেনু আইকনের রঙ পরিবর্তন করতে দেয়।
lnaie

1

আপনি আপনার জাভা ক্লাসে এই কোডটি যুক্ত করতে পারেন। তবে আপনাকে অবশ্যই আগে ভেক্টর সম্পদ তৈরি করতে হবে, যাতে আপনি আপনার তীরটি ফিরে কাস্টমাইজ করতে পারেন।

actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_black_24dp);

0

অ্যান্ড্রয়েড 21+ এ সরঞ্জামদণ্ডটি স্টাইল করতে এটি কিছুটা আলাদা।

<style name="DarkTheme.v21" parent="DarkTheme.v19">
        <!-- toolbar background color -->
        <item name="android:navigationBarColor">@color/color_primary_blue_dark</item>
        <!-- toolbar back button color -->
        <item name="toolbarNavigationButtonStyle">@style/Toolbar.Button.Navigation.Tinted</item>
    </style>

    <style name="Toolbar.Button.Navigation.Tinted" parent="Widget.AppCompat.Toolbar.Button.Navigation">
        <item name="tint">@color/color_white</item>
    </style>

-1

যদি আপনি সিস্টেমে ব্যাক কালার হোয়াইট করতে চান তবে আপনি এই কোডটি ব্যবহার করতে পারেন

<com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:elevation="0dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar_notification"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp"
            app:contentInsetStartWithNavigation="0dp">

            <include layout="@layout/action_bar_notification" />
        </androidx.appcompat.widget.Toolbar>
    </com.google.android.material.appbar.AppBarLayout>

দ্রষ্টব্য: - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" কী

পেস্টটি আপনার ক্রিয়াকলাপে রয়েছে যেখানে আপনি অ্যাকশন বারের পিছনে বোতামটি প্রদর্শন করতে চান

final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_notification);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(false);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.