首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动作栏图标不显示图标

动作栏图标不显示图标
EN

Stack Overflow用户
提问于 2015-01-20 17:31:09
回答 4查看 2.6K关注 0票数 2

我正尝试在ActionBar中显示自定义图标,但它不起作用。我已经用编程的方式尝试过这两种方法

代码语言:javascript
复制
 getSupportActionBar().setIcon(R.drawable.forum_logo);

代码语言:javascript
复制
getSupportActionBar().setLogo(R.drawable.forum_logo);

在AndroidManifest.xml中使用

代码语言:javascript
复制
android:logo="@drawable/forum_logo"

然而,这两种方法都不起作用。forum_logo.png是24x24的图像文件。

其他方法,如

代码语言:javascript
复制
 getSupportActionBar().setHomeButtonEnabled(true);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 getSupportActionBar().setTitle((currentSubforum.getTitle()));

按预期工作。

我使用的是android.support.v7.app.ActionBarActivity,每个Activity都扩展了ActionBarActivity。AndroidManifest中的android:icon属性已链接到不同的可绘制部分,并且android:theme"Theme.AppCompat.Light.DarkActionBar"

EN

回答 4

Stack Overflow用户

发布于 2015-01-20 18:28:35

工具条的答案是正确的,但是缺少一个关键的细节。

如果您使用工具栏,您的主题必须禁用ActionBar。这有一个特定的主题:

代码语言:javascript
复制
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>

现在在您的onCreate中设置工具栏,如下所示:

代码语言:javascript
复制
Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar);
toolbar.setLogo(R.drawable.ic_launcher);
setSupportActionBar(toolbar);

请注意,您应该使用支持工具栏:import android.support.v7.widget.Toolbar;

布局中的工具栏将如下所示:

代码语言:javascript
复制
<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="65dp"
    android:background="#40ffffff"/>

话虽如此,我发现不能用ActionBarActivity显示应用程序图标真的很奇怪。希望有另一种方法来解决这个问题。

票数 1
EN

Stack Overflow用户

发布于 2015-01-20 17:38:26

在Fragment.onActivityCreated(...)之后您将可以通过getActivity()访问一个有效的活动。您需要将其强制转换为ActionBarActivity,然后调用getSupportActionBar()。

((ActionBarActivity)getActivity()).getSupportActionBar().setSubtitle(R.string.subtitle);你确实需要演员阵容。这并不是糟糕的设计,它是向后兼容的。

票数 0
EN

Stack Overflow用户

发布于 2015-01-20 17:40:09

代码语言:javascript
复制
ActionBar actionBar = getActionBar(); 
actionBar.setIcon(R.drawable.ic_action_video);
actionBar.setDisplayShowTitleEnabled(true);

只用三样东西..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28041808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档