Android 自定义操作栏未显示
Android custom action bar is not showing
我的父主题是 Theme.AppCompat.Light.DarkActionBar 并且我添加了
在清单文件中并为具有不同颜色但不是全部的操作栏创建自定义 style.xml,操作栏不可见我该怎么办?我正在使用 android studio 和 lolipop 版本。
style.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowActionBar">true</item>
</style>
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">#800000</item>
</style>
Manifest.xml
<application`enter code here`
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme" >
<activity android:name=".SplashScreen`enter code here`Activity"
使用 Theme.AppCompat.Light.NoActionBar 并在主布局中创建工具栏布局。在 activity 和
中绑定工具栏
setSupportActionbar(工具栏);
不要使用 styles.xml
来定义自定义 ActionBar
,您应该使用 themes.xml
,如 Android Official guide
中所述
示例取自 Android development's Official guide:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
</style>
<!-- general styles for the action bar -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:titleTextStyle">@style/TitleTextStyle</item>
<item name="android:background">@drawable/actionbar_background</item>
<item name="android:backgroundStacked">@drawable/actionbar_background</item>
<item name="android:backgroundSplit">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/TitleTextStyle</item>
<item name="background">@drawable/actionbar_background</item>
<item name="backgroundStacked">@drawable/actionbar_background</item>
<item name="backgroundSplit">@drawable/actionbar_background</item>
</style>
</resources>
在清单文件中,您可以将主题应用到整个应用程序:
<application android:theme="@style/CustomActionBarTheme" ... />
或到个人活动:
<activity android:theme="@style/CustomActionBarTheme" ... />
我已经通过
找到了解决方案
- 添加支持库:
- 扩展 AppCompatActivity class
- 将代码添加到 build.gradle
buildTypes {
debug {
minifyEnabled true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
现在可以使用 f9。
谢谢
我的父主题是 Theme.AppCompat.Light.DarkActionBar 并且我添加了 在清单文件中并为具有不同颜色但不是全部的操作栏创建自定义 style.xml,操作栏不可见我该怎么办?我正在使用 android studio 和 lolipop 版本。
style.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowActionBar">true</item>
</style>
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">#800000</item>
</style>
Manifest.xml
<application`enter code here`
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme" >
<activity android:name=".SplashScreen`enter code here`Activity"
使用 Theme.AppCompat.Light.NoActionBar 并在主布局中创建工具栏布局。在 activity 和
中绑定工具栏setSupportActionbar(工具栏);
不要使用 styles.xml
来定义自定义 ActionBar
,您应该使用 themes.xml
,如 Android Official guide
示例取自 Android development's Official guide:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
</style>
<!-- general styles for the action bar -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:titleTextStyle">@style/TitleTextStyle</item>
<item name="android:background">@drawable/actionbar_background</item>
<item name="android:backgroundStacked">@drawable/actionbar_background</item>
<item name="android:backgroundSplit">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/TitleTextStyle</item>
<item name="background">@drawable/actionbar_background</item>
<item name="backgroundStacked">@drawable/actionbar_background</item>
<item name="backgroundSplit">@drawable/actionbar_background</item>
</style>
</resources>
在清单文件中,您可以将主题应用到整个应用程序:
<application android:theme="@style/CustomActionBarTheme" ... />
或到个人活动:
<activity android:theme="@style/CustomActionBarTheme" ... />
我已经通过
找到了解决方案- 添加支持库:
- 扩展 AppCompatActivity class
- 将代码添加到 build.gradle
buildTypes {
debug {
minifyEnabled true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
现在可以使用 f9。 谢谢