SettingsActivity标题正面颜色更改

时间:2016-10-25 16:07:56

标签: java android android-studio

我使用Android Studio在Android的Guild App上写道。

这是我的问题,
在我的 MainActivity 中,标题颜色菜单开启者为黑色:

MainActivity

在我的 SettingsActivity 中,Android Studio中的模板是标题颜色箭头白色:

SettingsActivity

哪里可以编辑两者总是相同的颜色?

编辑1
@Sodiq 这是我的代码:

此处我的 settings_toolbar.xml

<?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"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

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


    <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/AppTheme.PopupOverlay"/>

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

这是我的 SettingsActivity 页面中的代码:

private void setupActionBar() {
  ViewGroup rootView = (ViewGroup)findViewById(R.id.action_bar_root); //id from appcompat

  if (rootView != null) {
    View view = getLayoutInflater().inflate(R.layout.app_bar_settings1, rootView, false);
    rootView.addView(view, 0);

    Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
    int color_one = settings.getInt("color_one", 0);

    toolbar.setBackgroundColor(color_one);
  }

  ActionBar actionBar = getSupportActionBar();
  if (actionBar != null) {
    // Show the Up button in the action bar.
    actionBar.setDisplayHomeAsUpEnabled(true);
  }
}

这是我的 color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#ff0000</color>
    <color name="colorPrimaryDark">#363636</color>
    <color name="colorAccent">#FF4081</color>
    <color name="white">#FFFFFF</color>
</resources>

我的 style.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="titleTextColor">@android:color/black</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>

这在我的 Manifest

<activity
    android:name=".settings.SettingsActivity"
    android:label="@string/title_activity_settings"
    android:theme="@style/AppTheme.NoActionBar"></activity>

修改2

操作栏

更改为工具栏

通过 Sodiq 轻松帮助我 用于彩色状态栏

来自Sodiq的代码

设置活动

更改清单条目
android:theme="@style/AppTheme.NoActionBar"

android:theme="@style/AppTheme"

并更改 Style.xml

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

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

感谢 Sodiq 提供帮助

2 个答案:

答案 0 :(得分:1)

尝试在清单上的应用程序中删除android:theme="@style/AppTheme.NoActionBar" on your activity and only use android:theme =“@ style / AppTheme”`

并将主题样式<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">更改为<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

答案 1 :(得分:0)

这对我有帮助

我在 Style.xml

中创建了新样式
<style name="AppTheme.Settings" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here.-->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="titleTextColor">@android:color/black</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

并在我的清单

中进行修改
<activity
    android:name=".settings.SettingsActivity"
    android:label="@string/title_activity_settings"
    android:theme="@style/AppTheme.Settings"></activity>