如何编辑操作栏上的文本和后退箭头颜色

时间:2017-06-15 14:51:52

标签: android android-actionbar android-text-color

我已更新了我的问题,使其更易于理解,并提供了更多信息。

下面的图片是我当前的GUI,这是第二个活动,我正在尝试将文本颜色和箭头图标颜色编辑为黑色。

GUI中的操作栏是通过编辑AndroidManifest.xml并使用java方法onNavigationItemSelected(MenuItem item)生成的,当我点击箭头图标时,它会将我带回父活动

在AndroidManifest.xml中,我定义了标题“Trip”及其父活动名称。

那么有没有办法改变文字和图标的颜色?

当前的GUI

enter image description here

GUI的XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context="com.android.iplanner.Trip.ActivityTrip">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fabAddTrip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        app:backgroundTint="@color/colorPrimary"
        android:clickable="true"
        app:srcCompat="@drawable/ic_add_black_24px" />

</RelativeLayout>

styles.xml

<resources>

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

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

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

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

的AndroidManifest.xml

<activity
            android:name=".Trip.ActivityTrip"
            android:label="Trip"
            android:parentActivityName=".ActivityMain" />

4 个答案:

答案 0 :(得分:1)

这是我用来设置工具栏的功能

 private void setupToolbar() {
        MyLogger.getInstance().writeInfo(TAG, "setupToolbar");
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        toolbar.setNavigationIcon(R.drawable.ic_arrow_back_24dp);//Image Icon 
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyLogger.getInstance().writeInfo(TAG, "Toolbar Clicked");
                    onBackPressed();
            }
        });
    }

答案 1 :(得分:1)

谢谢你的帮助,很遗憾浪费每个人的时间。

我已设法将文字颜色和图标颜色更改为黑色。

我的解决方案如下:

<resources>

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

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

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

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

将AppTheme更改为“Theme.AppCompat.Light”,将AppTheme.AppBarOverlay更改为“ThemeOverlay.AppCompat.Light”。

答案 2 :(得分:0)

<style name="MyApp.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">       
<!-- THIS is where you can color the arrow! -->
<item name="colorControlNormal">@color/my_awesome_color</item>

以您的风格添加MyApp.ActionBarTheme

<style name="MyTheme" parent="Theme.AppCompat.Light">        
<item name="actionBarTheme">@style/MyApp.ActionBarTheme</item>
<item name="actionBarStyle">@style/MyApp.ActionBar</item>

<style name="MyApp.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="elevation">0dp</item>      
<!-- style for actionBar title -->  
<item name="titleTextStyle">@style/ActionBarTitleText</item>
<!-- style for actionBar subtitle -->  
<item name="subtitleTextStyle">@style/ActionBarSubtitleText</item>

<!-- 
the actionBarTheme doesn't use the colorControlNormal attribute
<item name="colorControlNormal">@color/my_awesome_color</item>
 -->

答案 3 :(得分:0)

尝试此更改标题:

yourToolbar.setTitle("My title”);

这将改变图标:

final Drawable yourIcon = getResources().getDrawable(R.drawable.your_icon);
yourIcon.setColorFilter(Color.parseColor(color_you_want),
PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(yourIcon);