【问题标题】:ActionBar logo is not displaying in XXHDPI mobile deviceXXHDPI 移动设备中未显示 ActionBar 徽标
【发布时间】:2014-02-11 09:41:22
【问题描述】:

我正在使用操作栏,我想自定义操作栏徽标。为此,我编写了代码(如下),但它适用于 SamsungMicroMax 设备,但不适用于 Lenovo K900索尼爱立信 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>

伙计,我不知道我该怎么办。请帮帮我。

【问题讨论】:

  • @guys 你在吗??
  • 你试过parent="@style/Widget.Hol..."而不是parent="@android:style/Widget.Hol..."吗?
  • “它不工作”是什么意思?
  • @Phil 徽标未显示...什么也没有。
  • 在 res 文件夹中有一个 drawable-xxhdpi 文件夹吗?

标签: android android-actionbar


【解决方案1】:

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

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

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

要将 ActionBarSherlock 添加到您的项目中:

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

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

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

在导入之后查找其中的示例项目,它们是如何使用 Sherlock 操作栏的。你会从那里得到很多信息。

关于 ActionBarSherlock 最重要的一点是,您也可以将它用于 3.0 以下的 Android 操作系统,但官方 Android API 仅在 OS v3.0 以上提供 Action Bar 小部件。因此,您可以针对所有类型的用户定位您的应用,使用 3.0 以上和 3.0 以下操作系统的用户都会被定位。

【讨论】:

  • 只需在您的工作区中从 GitHub 上 git 克隆 repo。然后将其导入为 -> 从 Eclipse 中的现有源创建项目。在此之后转到 Project->Properties->Android 并将其添加为库。
  • 我的 android:minSdkVersion="16" android:targetSdkVersion="19"。告诉我该怎么做。
  • 点击此链接:stackoverflow.com/questions/9757400/… 并尝试像这样自定义您的项目。同时查找 SampleList 的 AndroidManifest.xml 文件,您将能够运行您的项目。
【解决方案2】:

请在所有文件夹中添加以下主题 - values,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

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

在 android manifest 文件中也使用主题 MyActionBar

试着让我拒绝

【讨论】:

  • 你想让我从 Values/style.xml 复制粘贴所有内容??
  • MyActionBar 在清单文件中的位置
  • 当我将 android:theme="@style/AppTheme 更改为 android:theme="@style/MyActionBar" 我的整个主题都搞砸了。\
  • 是的,它即将到来,但整个主题都搞砸了?? @dhawal Sodha Parmar
猜你喜欢
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 2015-06-21
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多