Câu hỏi Thay đổi màu tiêu đề trong thanh công cụ?


Tôi có một thanh công cụ mà tôi sử dụng và đặt tiêu đề bằng:

((ActionBarActivity)getActivity()).getSupportActionBar().setTitle("Home");

Có cách nào để thay đổi màu từ đen sang trắng không?

Tôi đã cố gắng tạo chủ đề của riêng mình và đặt nó trong xml như thế này, nhưng không có xúc xắc:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme2" parent="Theme.AppCompat">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="android:textColorPrimary">@color/primary_text</item>
        <item name="android:textColorSecondary">@color/secondary_text</item>

    </style>

    <style name="Widget.MyApp.ActionBar" parent="Widget.AppCompat.ActionBar">
        <item name="android:background">@color/primary</item>
        <item name="theme">@style/ThemeOverlay.MyApp.ActionBar</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    </style>

    <style name="ThemeOverlay.MyApp.ActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
        <item name="android:textColorPrimary">#FFFFFF</item>
    </style>



</resources>

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#e5e5e5"
    android:orientation="vertical" >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:minHeight="?attr/actionBarSize"
        android:background="@color/primary"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/Widget.MyApp.ActionBar">

        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/statsSpin"
            android:spinnerMode="dropdown"
            android:textColor="#FFFFFF"/>


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



    <ListView
        android:id="@+id/yourStats"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:dividerHeight="0px"
        android:divider="@null"

        >
    </ListView>



</LinearLayout>

24
2018-03-10 01:11


gốc


Bạn có nghĩa là lập trình hoặc thông qua một chủ đề? - tachyonflux
nó được lặp lại câu hỏi trả lời tại stackoverflow.com/a/2285722/2149195 - RBK
@RaviKoradiya Câu trả lời đó đã lỗi thời, FWIW, dành cho phiên bản Android cũ.
Nó không phải là một câu trả lời mà là một thông tin. Bạn không cần phải viết ((ActionBarActivity) getActivity ()). GetSupportActionBar (). SetTitle ("Home"); để thay đổi Tiêu đề Thanh công cụ. Chỉ cần viết setTitle (getString (R.string.title)); đó là nó - codepeaker


Các câu trả lời:


Theo chương trình:

toolbar.setTitleTextColor(0xFFFFFFFF);

41
2018-03-10 01:43



nó sẽ hỗ trợ trên api 23 - Asthme
Không phải nếu bạn đang sử dụng thư viện AppCompat. - zundi
đã làm việc cho tôi với: toolbar.setTitleTextColor(android.graphics.Color.WHITE); .. cảm ơn! - gnB


Theo Chủ đề vs bài đăng trên blog theo phong cách bởi người sáng tạo AppCompat và bài đăng trên phiên bản 21 của AppCompat, thanh công cụ DarkActionBar (tức là, Toolbar với nền tối và văn bản sáng), có thể được thực hiện bằng cách thêm android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" cho bạn ToolbarXML của:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"
    android:background="@color/primary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/statsSpin"
        android:spinnerMode="dropdown"/>


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

Điều này sẽ thay đổi màu văn bản và màu mặc định thành nhiều thuộc tính (chẳng hạn như Spinner để ánh sáng văn bản như là cần thiết cho nền tối.


20
2018-03-10 03:22



Tại sao app:theme và không android:theme (cả hai công việc)? - Oleg
Trước AppCompat 22.1, bạn phải sử dụng app:theme - nếu bạn đang sử dụng một phiên bản muộn hơn (mà bạn nên vào thời điểm này), thì có, bạn nên sử dụng android:theme mọi nơi. Tôi đã cập nhật câu trả lời của mình để phản ánh thực tiễn tốt nhất hiện nay. - ianhanniballake


Tạo một phong cách mới trong chủ đề cơ sở ứng dụng

  <style name="custom_toolbar" parent="@style/Widget.AppCompat.Toolbar">
        <item name="titleTextColor">#replace with color</item>
  </style>

và sử dụng kiểu cho thanh công cụ

  <item name="toolbarStyle">@style/custom_toolbar</item>

18
2017-09-30 12:00



Điều này làm việc cho tôi. và trông tốt hơn nhiều - Anoop S S
Lưu ý rằng thuộc tính "toolbarStyle" chỉ api 21+ - eugeneek


Tôi biết có rất nhiều câu trả lời ở trên hy vọng, nó sẽ giúp một người không hiểu câu trả lời ở trên.

Android có chế độ xem được gọi là Thanh công cụ.Chế độ xem này có tiêu đề luôn lấy màu mặc định từ tài nguyên color.xml mà tên mục là giọngBạn có thể thay đổi màu của thanh công cụ theo hai cách.

  1. Thông qua xml mà tôi khuyên bạn nên làm điều đó, dưới đây bạn có thể xem ví dụ

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:titleTextColor="@color/White" />Here you can change it.Remember APP attribute not ANDROID
    
  2. Thông qua lập trình trong hoạt động hoặc đoạn.

    Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
    toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
    

8
2018-04-26 13:40



app:titleTextColorlà một giải pháp rất tốt đẹp. cám ơn - donfuxx


Nếu bạn chỉ muốn thay đổi màu văn bản tiêu đề, Hãy thử cái này ..

getSupportActionBar().setTitle(Html.fromHtml("<font color='#746E66'>"+titleText+"</font>"));

nó hoạt động .. !!


3
2018-02-22 07:31





Để mở rộng trên tachyonflux, để đặt màu bằng HEX

 toolbar.setTitleTextColor(Color.parseColor("#519c3f"));

0
2017-09-13 06:01





toolbar.setTitleTextColor (getResources (). getColor (R.color.black));

(thanh công cụ là tên bạn đã đặt cho thanh công cụ trong lớp acitivyt của bạn) (Trong các giá trị màu sắc của bạn, xml thiết lập các màu mong muốn của bạn và tham chiếu nó với tên màu bạn đã chọn, như được thấy ở đây tôi giữ một số màu chính của các tên thông thường) Đã cho tôi một thời gian để tìm ra điều này, nhưng đây là cách duy nhất tôi có thể làm cho nó hoạt động, ThemEditor nên cho phép điều này nhưng nó là nó là gì.


0
2018-02-10 15:47





Trong xml:

app: titleTextColor = "@ color / White" thành

<android.support.v7.widget.Toolbar
    android:id="@+id/tb_top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/AppTheme.DarkToolbar"
    app:titleTextColor="@color/White" />

0
2018-04-05 07:05





Sử dụng mã này

<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" />

0
2017-07-14 09:05