কীভাবে সরঞ্জামদণ্ডের পাঠ্য এবং পিছনের তীরের রঙ সেট করা যায়


116

সরঞ্জামদণ্ডের পটভূমি গা dark় রঙের, আমি পাঠ্য এবং পিছনের তীরটি সাদা হতে চাই। আমি অনুসরণ করার চেষ্টা করেছি, কিন্তু এটি কাজ করে না।

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/blue_darker</item>
        <item name="colorAccent">@color/purple</item>
        <!-- item name="android:textColorPrimary">@color/white</item--> // I don't want to set this, changes everywhere. 
        <item name="android:textColorSecondary">@color/white</item>
        <item name="android:toolbarStyle">@style/AppTheme.ToolbarStyle</item>
        <item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item>

        <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowStyle</item>

    </style>

    <style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
        <!--<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>-->
        <item name="android:textColor">@color/white</item> // doesn't work
        <item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
        <item name="android:titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
        <item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item>
    </style>

10
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"আপনার যুক্ত করার চেষ্টা করুন <android.support.v7.widget.Toolbar>; পিছনে তীর এবং পাঠ্য সাদা হবে, যেমনটি ইউবরাজপৌডেল জানিয়েছেন।
1111161171159459134

উত্তর:


153

সম্ভাবনা হ'ল আপনি ভুল অভিভাবকের কাছ থেকে প্রসারিত করছেন। যদি না, আপনি যোগ করার চেষ্টা করতে পারেন styleথেকে toolbarসরাসরি বিন্যাস, যদি আপনি থিমের বৈশিষ্ট্য উপেক্ষা করতে চাই।

আপনার সরঞ্জামদণ্ডের বিন্যাসে:

 <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="?attr/actionBarSize"
      android:minHeight="?attr/actionBarSize"
      app:theme="@style/ToolBarStyle"
      app:popupTheme="@style/ToolBarPopupStyle"
      android:background="@color/actionbar_color" />

আপনার শৈলীতে:

 <!-- ToolBar -->
  <style name="ToolBarStyle" parent="Theme.AppCompat">
      <item name="android:textColorPrimary">@android:color/white</item>
      <item name="android:textColorSecondary">@android:color/white</item>
      <item name="actionMenuTextColor">@android:color/white</item>      
      <item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item>
      <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
 </style>

5
এই স্টাইলটি styles.xmlফাইল করার সময় ত্রুটি দেওয়া
গোপাল সিং সিরভি

1
প্রশ্নের উত্তর দেওয়ার জন্য আপনাকে ড্রয়ার অ্যারো স্টাইল অংশের প্রয়োজন নেই
ভাগ্যবান হাতল

124

টুলবার.এক্সএমএল হিসাবে নিম্নলিখিতটি যুক্ত করুন

<?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:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:background="?attr/colorPrimary">

</android.support.v7.widget.Toolbar>

তারপরে আপনার প্রয়োজনীয় লেআউটটিতে

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

উপভোগ করুন


10
হ্যাঁ, কাজ! বিশেষ করে app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
1111161171159459134

1
হওয়া উচিত<include layout="@layout/toolbar"/>
টিম

63

ভিতরে ক্রিয়াকলাপ, আপনি ব্যবহার করতে পারেন

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    toolbar.setTitleTextColor(getResources().getColor(android.R.color.white));

আপনি যদি শিরোনাম রঙ এবং পিছনের তীর সাদা উভয়ের জন্য এক্সএমএল চয়ন করতে চান তবে কেবল এই স্টাইলটি স্টাইল.এক্সএমএল যুক্ত করুন।

 <style name="ToolBarStyle" parent="Theme.AppCompat">
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="android:textColorSecondary">@android:color/white</item>
    <item name="actionMenuTextColor">@android:color/white</item>
</style>

এবং সরঞ্জামদণ্ডটি দেখতে দেখতে:

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        app:theme="@style/ToolBarStyle"
        android:layout_height="?attr/actionBarSize"
  />

1
এইটা কাজ করে! অনেক এলোমেলো উত্তর - আমি মনে করি যে জিনিসটি নোট করার জন্য এটি এটি কাজ করে: android.support.v7.widget.Toolbar এর মধ্যে বাসা বেঁধেছে: android.support.design.widget.appBarLayout অনেক ধন্যবাদ
সাগর প্যাটেল

1
জাভা সমাধানটি তীরের রঙ পরিবর্তন করে না
জাভা-প্রেম

19

এই সমাধানটি আরও সহজ হতে পারে। তবে এর জন্য উচ্চতর এপিআই সংস্করণ প্রয়োজন (23)। এক্সএমএলে কেবল এই সরঞ্জামটি আপনার সরঞ্জামদণ্ডে যুক্ত করুন:

<Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/actionBarSize"
    android:background="?android:attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:titleTextColor="#ffffffff" />

@ ভাইগিন্টাসবি সত্য
টম এশেনডাম

1
= "# Ffffffff", শুধু অ্যান্ড্রয়েড titleTextColor: থিম = "@ শৈলী / ThemeOverlay.AppCompat.Dark.ActionBar" এবং অ্যাপ: এটি Android সেট করার প্রয়োজন নেই popupTheme = "@ শৈলী / ThemeOverlay.AppCompat.Light"
আলমেইডা

16

আপনি যদি AndroidX(জুলাই 2019 হিসাবে) ব্যবহার করেন তবে আপনি এগুলি যুক্ত করতে পারেন:

<androidx.appcompat.widget.Toolbar
  android:id="@+id/toolbar"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  app:layout_collapseMode="pin"
  app:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar"
  app:popupTheme="@style/ThemeOverlay.MaterialComponents.Light"/>

বিঃদ্রঃ! আপনার Toolbarসরাসরি ভিতরে রাখা হয়েছে AppBarLayoutতবে ভিতরে না রেখে কাজ করার জন্য এটি পরীক্ষা করা হয়েছিলCollapsingToolbarLayout


9
<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/colorPrimaryDark"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>

আপনার যদি একটি থাকে তবে এটি উত্তর appbarlayout। ধন্যবাদ!
নুহমান

8

এই পদ্ধতিটি আমাকে সাহায্য করেছিল।

<style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primaryDark</item>
        <item name="colorAccent">@color/highlightRed</item>
        <item name="actionBarTheme">@style/ToolbarStyle</item>
</style>

<style name="ToolbarStyle" parent="Widget.AppCompat.ActionBar">
        <item name="android:textColorPrimary">@color/white</item>
</style>

6
<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="?attr/actionBarSize"
android:background="@color/actionBar"
app:titleTextAppearance="@style/ToolbarTitleText"
app:theme="@style/ToolBarStyle">

<TextView
    android:id="@+id/title"
    style="@style/ToolbarTitleText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="hh"/>

<!-- ToolBar -->
<style name="ToolBarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="actionMenuTextColor">#ff63BBF7</item>
</style>

অ্যাপ্লিকেশনটি ব্যবহার করুন: থিম = "@ শৈলী / টুলবার স্টাইল"

রেফারেন্স সংস্থানসমূহ :


1
দয়া করে আপনার উত্তরগুলি ব্যাখ্যা করুন, কোনও প্রশ্নের উত্তর দেওয়ার জন্য কেবল পোস্টিং কোড খুব পরিষ্কার নয়।
সুপারবিসাইডম্যান

3

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

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        app:titleTextColor="@color/colorAccent"
        app:theme="@style/ToolbarColoredBackArrow"
        app:subtitleTextColor="@color/colorAccent"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

এবং এটি আপনার color.xML ফাইল যুক্ত করুন

    <color name="colorAccent">YOUR_COLOR</color>

1
দয়া করে অ্যাপ্লিকেশনটিতে যা ছিল তা আমাদের সাথে ভাগ করে নিতে পারেন: থিম = "@ শৈলী / সরঞ্জামদণ্ডের
সাইমন


1

অনেকগুলি পদ্ধতি ব্যবহার করে দেখুন, এপিআই-র স্বল্প সংস্করণে একটি সম্ভাব্য পদ্ধতি হ'ল <item name="actionMenuTextColor">@color/your_color</item>অ্যান্ড্রয়েড নেমস্পেস ব্যবহার করবেন না

পুনশ্চ:

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <!-- change the textColor -->
    <item name="actionMenuTextColor">@color/actionMenuTextColor</item>
</style>

1

আমি স্থানধারকদের ব্যবহার করেছি যাতে কেবল অনুসরণ করুন, আপনি সম্ভবত উত্তরাধিকারটি মূল শৈলী থেকে রাখতে চান।

আগে

<android.support.v7.widget.Toolbar
    android:id="@+id/toolBar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/{{originalBaseStyle}}"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

পরে:

styles.xml

<style name="{{yourToolbarStyle}}" parent="{{originalBaseStyle}}">
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="android:textColorSecondary">@android:color/white</item>
    <item name="actionMenuTextColor">@android:color/white</item>
    <item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

অতএব

<android.support.v7.widget.Toolbar
    android:id="@+id/toolBar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/{{yourToolbarStyle}}"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

1

যদি আমরা অ্যান্ড্রয়েড স্টুডিওগুলির দ্বারা নির্মিত ক্রিয়াকলাপের টেম্পলেটটি অনুসরণ করি তবে এটি অ্যাপবারলয়েআউটের অ্যাপ্ল্যাভারওলার একটি অ্যান্ড্রয়েড থিম থাকা দরকার যা আপনার স্টাইলস.এক্সএমএল এ সংজ্ঞায়িত করা উচিত। এটি আপনাকে আপনার সাদা রঙের টোবার / অ্যাকশনবার রঙের পাঠ্য দেয়।

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">  ...

স্টাইল.এক্সএমএলে, নিম্নলিখিতটি উপস্থিত রয়েছে তা নিশ্চিত করুন:

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

1

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

ইন styles.xml:

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <!-- Your styles here -->

    <item name="toolbarStyle">@style/AppTheme.Toolbar</item>
</style>

<style name="AppTheme.Toolbar" parent="Widget.MaterialComponents.Toolbar">
    <item name="titleTextColor">@android:color/white</item>
</style>

এই উত্তর থেকে অভিযোজিত: https://stackoverflow.com/a/48205577/238753


0

টুলবার ফিরে আইকন অঙ্কনযোগ্য পরিবর্তন করতে আপনি এই ব্যবহার করতে পারেন:
যোগ <item name="toolbarStyle">@style/ToolbarStyle</item>আপনার থিম মধ্যে।
এবং এখানে ToolbarStyleনিজেই:

<style name="ToolbarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="navigationIcon">@drawable/ic_up_indicator</item>
</style>

0

যদি অ্যান্ড্রয়েড স্টুডিও 3.0.০ এর সর্বশেষ পুনরাবৃত্তি ব্যবহার করা হয় এবং আপনার ক্রিয়াকলাপ শ্রেণি তৈরি করা হয়, আপনার স্টাইলের ফাইলগুলিতে এটি পরিবর্তন করুন:

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

এটি:

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.ActionBar" />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.