android - 如何更改操作栏切换颜色? - 安卓

标签 android android-layout android-actionbar android-xml android-styles

如何更改操作栏切换的颜色?

enter image description here

这是我用 java 编写的操作栏代码:

  //Navigation view and Drawer layout
        drawerlayout = (DrawerLayout) findViewById(R.id.main_ND);
        actionBarDrawerToggle = new ActionBarDrawerToggle(this,drawerlayout,0,0);
        navigationView = (NavigationView) findViewById(R.id.main_NV);
        navigationView.setItemIconTintList(null);
        View headerView = navigationView.getHeaderView(0);
        nD_image = (ImageView) headerView.findViewById(R.id.nd_image);
        Glide.with(getBaseContext()).load(R.drawable.my_paper).centerCrop().into(nD_image);
        setNavigationView();
        drawerlayout.addDrawerListener(actionBarDrawerToggle);
        actionBarDrawerToggle.syncState();
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
}


 @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        if(actionBarDrawerToggle.onOptionsItemSelected(item))
        {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

我的风格

  <style name="my_theme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimaryDark">@color/salmonDark</item>
        <item name="colorPrimary">@color/salmon_main</item>
        <item name="colorAccent">@color/black</item>
        <item name="android:actionMenuTextColor">@color/white</item><!-- green was: #8BC34A -->
        <item name="android:actionMenuTextAppearance">@style/actionBarTextSize</item>
    </style>

然后在我的 list 中

 <activity android:name=".Main.Main"
            android:screenOrientation="portrait"
            android:theme="@style/zivit_theme"/>

我不太确定如何更改颜色或在哪里更改。我希望有人可以发布一些逐步过程的示例代码(或执行此操作的神奇的一行代码)谢谢!

最佳答案

试试这个:

在基本主题中:为操作栏添加一个项目

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="drawerArrowStyle">@style/MyDrawerArrowToggle</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

自定义操作栏主题:

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/MyTitleTextStyle</item>
    <item name="android:background">@color/background</item>

     <!-- Support library compatibility -->
     <item name="titleTextStyle">@style/TitleTextStyle</item>
     <item name="background">@color/background</item>
</style>

您还可以修改操作栏文本颜色:

<style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/foreground</item>
</style>

切换按钮样式:

 <style name="MyDrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="color">@color/foreground</item>
</style>

关于android - 如何更改操作栏切换颜色? - 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41658444/

相关文章:

android - 如何清空android中的共享首选项存储?

android - "Link Assemblies"任务意外失败问题,而应用程序在 Release模式 Xamarin Android 中构建

android - 如何摆脱Android 4.4.4 中Android DatePickerDialog 的默认背景?

Android sherlock 搜索 View

android - getActionBar() 返回 null

java - 如何将 com.android.internal.telephony.ITelephony 导入到 Android 应用程序

android - LinearLayout 中元素间距的最佳实践

android - TabWidget 在 Android 2.1 设备中看起来不正确

java - 数据库更改后刷新操作栏微调器

android - 在 fragment 替换时显示/隐藏 Android 软键盘