Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 操作栏样式不替代操作栏选项卡的样式_Android_Android Actionbar_Android Styles_Android Actionbar Compat - Fatal编程技术网

Android 操作栏样式不替代操作栏选项卡的样式

Android 操作栏样式不替代操作栏选项卡的样式,android,android-actionbar,android-styles,android-actionbar-compat,Android,Android Actionbar,Android Styles,Android Actionbar Compat,我使用以下代码更改应用程序中选项卡式活动的样式: <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devi

我使用以下代码更改应用程序中选项卡式活动的样式:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.



-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.



    -->

</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">

    <!-- All customizations that are NOT specific to a particular API-level can go here. -->

    <item name="actionBarStyle">@style/ActionBarTheme</item>
</style>

<!-- Action Bar them -->

<style name="ActionBarTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/ab_solid_appolo</item>
    <item name="backgroundSplit">@drawable/ab_bottom_solid_appolo</item>
    <item name="titleTextStyle">@style/ActionBarText</item>
    <item name="icon">@drawable/ic_action_launcher</item>
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>
</style>

<style name="ActionBarText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">#000000</item>
</style>

<!-- ActionBar tabs styles -->
<style name="ActionBarTabStyle.Appolo" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
    <item name="background">@drawable/actionbar_tab_indicator</item>
</style>
我还将以下代码用于style-v11和style-v14中的样式:

...
      <style name="ActionBarTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="background">@drawable/ab_solid_appolo</item>
        <item name="backgroundSplit">@drawable/ab_bottom_solid_appolo</item>
        <item name="android:titleTextStyle">@style/ActionBarText</item>
        <item name="android:icon">@drawable/ic_action_launcher</item>
        <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>
    </style>

    <style name="ActionBarText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">#000000</item>
    </style>

   <!-- ActionBar tabs styles -->
    <style name="ActionBarTabStyle.Appolo" parent="@style/Widget.AppCompat.Light.ActionBar.TabView">


        <item name="android:background">@drawable/actionbar_tab_indicator</item>
    </style>
...
但它不会改变选项卡栏的样式


我检查了我的代码很多次,我搜索和审查了我所有的笔记,但我找不到问题是什么。有人有任何答案吗?

确保您已在清单文件中应用了应用程序主题

试试这个:

<style name="ActionBarTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/ActionBarTheme.ActionBarStyle</item>
</style>

<style name="ActionBarTheme.ActionBarStlye" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/ab_solid_appolo</item>
    <item name="android:backgroundSplit">@drawable/ab_bottom_solid_appolo</item>
    <item name="android:titleTextStyle">@style/ActionBarTheme.ActionBar.TitleTextStyle</item>
    <item name="android:icon">@drawable/ic_action_launcher</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTheme.ActionBar.TabStyle</item>
</style>

<style name="ActionBarTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#000000</item>
</style>

<!-- ActionBar tabs styles -->
<style name="ActionBarTheme.ActionBar.TabStyle" parent="@style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/actionbar_tab_indicator</item>
</style>
我注意到,对于旧版本的Android,如果主题不是AppCompat的子对象,应用程序就会崩溃。这应该是一个解决办法


编辑:您还忘了在背景、图标等前面加上android:。

将其写入您的样式xml文件中

<item name="actionBarTabStyle">@style/CustomActionBarTabs </item>

<style name="CustomActionBarTabs"parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_custom_actionbar_style</item>
<item name="android:textColor">#666666</item>
</style>

问题出在代码的这一部分:

<style name="ActionBarTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/ab_solid_appolo</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_appolo</item>
<item name="titleTextStyle">@style/ActionBarText</item>
<item name="icon">@drawable/ic_action_launcher</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>

现在代码运行正常。

是的,我的清单中有一行代码:android:theme=@style/AppTheme。操作栏的颜色正在更改,但选项卡的颜色没有更改changing@style/你可以在代码中看到,我也使用这一行,但它不起作用。你能描述一下你的代码和我的代码有什么不同吗?你刚换了最后一款的名字?!我改变了它,所以你所有的风格都是动作巴塞姆的产物。我还更改了主题的父级。@HuseinBehbudiRad我更新了代码,现在应该可以工作了。这是因为appCompact模式。你可以在v11和v14I中看到它们。你测试过我的代码了吗?
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/ActionBarTheme" >
<item name="actionBarTabStyle">@style/CustomActionBarTabs </item>

<style name="CustomActionBarTabs"parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_custom_actionbar_style</item>
<item name="android:textColor">#666666</item>
</style>
<style name="ActionBarTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/ab_solid_appolo</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_appolo</item>
<item name="titleTextStyle">@style/ActionBarText</item>
<item name="icon">@drawable/ic_action_launcher</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>
<style name="AppTheme" parent="AppBaseTheme">

    <!-- All customizations that are NOT specific to a particular API-level can go here. -->

    <item name="actionBarStyle">@style/ActionBarTheme</item>
     <item name="actionBarTabStyle">@style/ActionBarTabStyle.Appolo</item>
</style>