XXBDPI移动设备中未显示ActionBar徽标

时间:2014-02-11 09:41:23

标签: android android-actionbar

我正在使用操作栏,我想自定义操作栏徽标。为此我已经编写了代码(如下),但它适用于 三星 MicroMax 设备但不适用于 Lenovo K900 Sony Ericssion Xperia z1 。我该怎么办?

Api 16工作正常但不是17(4.2)

代码:

 <style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
 </style>

 <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:logo">@drawable/product_category_logo</item>
    <item name="android:background">@drawable/actionbar_theme</item>
    <item name="android:backgroundStacked">@color/black</item>
    <item name="android:backgroundSplit">@color/white</item>
    <item name="android:textColor">#000000</item>
    <item name="android:textSize">16sp</item>
</style>

Values-v14文件夹:

<resources>

<!--
    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- API 14 theme customizations can go here. -->
</style>

Values-v11文件夹:

<resources>

<!--
    Base application theme for API 11+. This theme completely replaces
    AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<!-- <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> -->
    <style name="AppBaseTheme" parent="android:Theme.Light"><!-- Recent changes -->
    <!-- API 11 theme customizations can go here. -->
</style>

盖伊,我不知道该怎么办。请帮帮我。

2 个答案:

答案 0 :(得分:1)

我建议你在你的应用程序中使用ActionBarSherlock 项目。因为这个项目已经为你处理了这类事情。

仅为了验证,Google也在其Google I/O app中使用此ActionBar。

您也可以从GitHub ActionBarSherlock下载此项目,其中还包含此open source project的演示版。

将ActionBarSherlock添加到您的项目中:

只需git克隆工作区中GitHub的repo。然后将其导入为 - &gt;从Eclipse中的现有源创建项目。

在此之后转到Project-&gt; Properties-&gt; Android并将其添加为库。

以下是您导入它的答案:Importing Actionbarsherlock into eclipse

导入后,查找其中的Sample项目,他们如何使用Sherlock Action Bar。你会从那里得到很多信息。

关于ActionBarSherlock最重要的是你也可以将它用于3.0以下的Android操作系统,但官方的Android API仅在操作系统v3.0之上提供Action Bar小部件。因此,您可以针对所有类型的用户定位您的应用,那些使用高于3.0及低于3.0的操作系统的用户都将成为目标。

答案 1 :(得分:0)

请在所有文件夹中添加以下主题 - 值,vaules-11values-14

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
 </style>

 <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:logo">@drawable/product_category_logo</item>
    <item name="android:background">@drawable/actionbar_theme</item>
    <item name="android:backgroundStacked">@color/black</item>
    <item name="android:backgroundSplit">@color/white</item>
    <item name="android:textColor">#000000</item>
    <item name="android:textSize">16sp</item>
</style>

我认为你必须使用actionbarsharelock或actionbarcompart for&lt; android 3.0

但首先将此主题放在值-11,值-14并测试应用程序。

还在android清单文件中使用主题MyActionBar

试着让我知道