我正尝试在ActionBar中显示自定义图标,但它不起作用。我已经用编程的方式尝试过这两种方法
getSupportActionBar().setIcon(R.drawable.forum_logo);和
getSupportActionBar().setLogo(R.drawable.forum_logo);在AndroidManifest.xml中使用
android:logo="@drawable/forum_logo"然而,这两种方法都不起作用。forum_logo.png是24x24的图像文件。
其他方法,如
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"
发布于 2015-01-20 18:28:35
工具条的答案是正确的,但是缺少一个关键的细节。
如果您使用工具栏,您的主题必须禁用ActionBar。这有一个特定的主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>现在在您的onCreate中设置工具栏,如下所示:
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;
布局中的工具栏将如下所示:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="65dp"
android:background="#40ffffff"/>话虽如此,我发现不能用ActionBarActivity显示应用程序图标真的很奇怪。希望有另一种方法来解决这个问题。
发布于 2015-01-20 17:38:26
在Fragment.onActivityCreated(...)之后您将可以通过getActivity()访问一个有效的活动。您需要将其强制转换为ActionBarActivity,然后调用getSupportActionBar()。
((ActionBarActivity)getActivity()).getSupportActionBar().setSubtitle(R.string.subtitle);你确实需要演员阵容。这并不是糟糕的设计,它是向后兼容的。
发布于 2015-01-20 17:40:09
ActionBar actionBar = getActionBar();
actionBar.setIcon(R.drawable.ic_action_video);
actionBar.setDisplayShowTitleEnabled(true);只用三样东西..
https://stackoverflow.com/questions/28041808
复制相似问题