【问题标题】:ActionBar displays only textActionBar 只显示文本
【发布时间】:2015-10-10 12:41:12
【问题描述】:

我想要一个具有自定义背景和两个图标的可操作对象。一个用于应用图标,另一个用于替换应用的文本名称。

目前,由于某种原因,唯一显示的是文本和顶部的不可见边距:

  • 我正在使用支持库 (v7),我的 minSdk 是 9。

清单:

...
<activity android:theme="@style/Theme.AppCompat.Light" android:name=".myPagerActivity" /> 
...

【问题讨论】:

  • 到目前为止你的代码做了什么?
  • &lt;activity android:theme="@style/Theme.AppCompat.Light" android:name=".myPagerActivity" /&gt; 这是唯一的事情.. 但它至少应该显示一些背景......

标签: android android-actionbar material-design android-appcompat android-actionbar-compat


【解决方案1】:

您使用的是AppCompat 21版,正常。

操作栏遵循材料设计指南并使用Toolbar。 如您所见here

The use of application icon plus title as a standard layout is 
    discouraged on API 21 devices and newer.

这是因为您在 Activity 中仅显示测试。

您可以自定义工具栏。比如:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar">

    <!-- your custom views here -->

</android.support.v7.widget.Toolbar>

在你的AppCompatActivity

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

//Customize your views here...

最后你必须使用 appcompat 主题,例如 .NoActionBar

【讨论】:

    【解决方案2】:

    您可能应该定义一个自定义主题并设置操作栏的样式。 检查https://developer.android.com/training/basics/actionbar/styling.html

    您几乎可以更改与操作栏相关的所有属性。

    【讨论】:

      【解决方案3】:

      也许这可以帮助你:

      将您的 ActionBar 替换为工具栏。Toolbar 易于自定义。

      【讨论】:

      • 但我的 min sdk 是 9,如前所述。据我所知,工具栏是 11+。另外,更重要的是,我正在使用 ViewPager,据我所知只能通过 actionBar/AppCompatActivity 实现谢谢
      • 一个问题。你真的需要sdk 9吗?它只覆盖了所有安卓用户的 5%。使用更高的最低 sdk,它可以为其他用户提供更好的体验。我 style.xml 可以用.NoActionBar 设置样式。然后在布局中添加一个工具栏。
      • 我知道但不幸的是我必须使用 9.. 某些限制。
      • 那么你应该尝试像 Anmol Srivastava 所说的那样通过 styles.xml 设置操作栏的样式
      • Toolbar的minSdk是7
      猜你喜欢
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多