gpt4 book ai didi

android - 支持 ActionBar 不会使用 API 21 显示正确的颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:57 27 4
gpt4 key购买 nike

我正在尝试制作一个 appcompat 主题,但颜色不工作,图标也不会显示...也许我遗漏了什么。这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<color name="background_test">#410000</color>
<color name="font_general">#ffffff</color>
<style name="MyTheme"
parent="@style/Theme.AppCompat">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>

</style>
<style name="AudioFileInfoOverlayText">
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingBottom">2dp</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">18sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>

<!-- general styles for the action bar -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="android:icon">@drawable/ic_launcher</item>
<item name="icon">@drawable/ic_launcher</item>
<item name="background">@color/background_test</item>
<item name="android:background">@color/background_test</item>
</style>

</resources>

我应该添加什么才能让它工作?

编辑:

它也不适用于工具栏...在我设置之后:

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

它将丢失所有用户定义的主题,只会得到父主题...这是我的 xml(是的,我有很多冗余/测试值,因为我想尝试一切)

    <android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
background="?attr/colorPrimary"
app:popupTheme="@style/MyActionBarStyle"
android:background="?attr/colorPrimary"
app:theme="@style/MyActionBarStyle"
/>

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">

<!-- the theme applied to the application or activity -->
<color name="background_test">#410000</color>
<color name="font_general">#ffffff</color>
<!-- general styles for the action bar -->
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="actionBarStyle">@style/MyActionBarStyle</item>
<item name="android:panelColorBackground">@color/background_test</item>
<item name="android:headerBackground">@color/background_test</item>
<item name="android:colorBackground">@color/background_test</item>
<item name="android:backgroundSplit">@color/background_test</item>

<item name="backgroundSplit">@color/background_test</item>
<item name="colorAccent">@color/background_test</item>

<!-- Here we setting appcompat’s actionBarStyle -->


<!-- ...and here we setting appcompat’s color theming attrs -->
<item name="colorPrimary">@color/background_test</item>
<item name="colorPrimaryDark">@color/background_test</item>
</style>

<style name="MyActionBarStyle">
<item name="colorAccent">@color/background_test</item>

<!-- Here we setting appcompat’s actionBarStyle -->
<item name="android:panelColorBackground">@color/background_test</item>
<item name="android:headerBackground">@color/background_test</item>
<item name="android:colorBackground">@color/background_test</item>
<item name="android:backgroundSplit">@color/background_test</item>

<item name="backgroundSplit">@color/background_test</item>

<!-- ...and here we setting appcompat’s color theming attrs -->
<item name="colorPrimary">@color/background_test</item>
<item name="colorPrimaryDark">@color/background_test</item>
<item name="android:background">@color/background_test</item>

<item name="background">@color/background_test</item>
</style>

<style name="AudioFileInfoOverlayText">
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingBottom">2dp</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">18sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>



</resources>

截图:

http://i.imgur.com/4iohVwP.png

新编辑:它也不会从代码中工作...

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
ActionBar test=getSupportActionBar();

test.setLogo(R.drawable.ic_launcher); //this is the only one working...
test.setBackgroundDrawable(new ColorDrawable(0x410000));

test.setDisplayShowTitleEnabled(false);
test.setDisplayShowTitleEnabled(true);

编辑:

新的 Appcompat-v7 报告了一些错误,这可能是一个错误:

http://code.google.com/p/android/issues/detail?id=77763&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

最佳答案

如果您正在使用 Toolbar,那么您的 actionBarStyle被使用。

您需要直接设置工具栏的样式:

<android.support.v7.widget.Toolbar
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="..."
android:background="..."
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:titleTextAppearance="..."
app:subtitleTextAppearance="..." />

您可以自定义更多属性,这些只是示例。

我不确定为什么 getSupportActionBar().setBackgroundDrawable(...) 对你不起作用,我只是在不同的地方尝试过,它工作正常。

关于android - 支持 ActionBar 不会使用 API 21 显示正确的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26453409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com