Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 5缺少操作栏应用程序图标_Android - Fatal编程技术网

Android 5缺少操作栏应用程序图标

Android 5缺少操作栏应用程序图标,android,Android,刚刚用Android 5 SDK和相关的appcompat重建了我的应用程序 似乎工作正常,但我的应用程序图标不再显示在左上角。打开导航抽屉的图标在那里,但没有图标 有办法解决这个问题吗 在onCreate中使用以下代码: getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setLogo(R.drawable.ic_launcher); getSupportActionBar().setDis

刚刚用Android 5 SDK和相关的appcompat重建了我的应用程序

似乎工作正常,但我的应用程序图标不再显示在左上角。打开导航抽屉的图标在那里,但没有图标


有办法解决这个问题吗

在onCreate中使用以下代码:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

确保扩展ActionBarActivity而不是Activity。并添加以下代码:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

我也注意到Android Studio创建的默认项目缺少操作栏中的图标。下面是我如何修复它的

免责声明:此解决方案将导致材质主题被删除,取而代之的是较旧的JellyBean/Kitkat样式

首先,从以下内容更改styles.xml中的主题设置:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
为此:

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
import android.app.Activity;

public class MainActivity extends Activity {

这样做的最终结果是一个应用程序,其全息主题在Jelly Bean和Kitkat上更常见。

在API OS 5+应用程序中不应该有图标。默认情况下,它不显示(这是首选行为)。工具栏文档特别说明:

“在现代安卓UI中,开发人员应该更多地依赖于工具栏的视觉独特配色方案,而不是应用程序图标。在API 21和更新的设备上,不鼓励使用应用程序图标加标题作为标准布局。”


您不应该在较新的设备上使用此图标(根据文档)-请参阅我的答案。抱歉,这是一个不好的建议,您正在将“Material”主题替换为“Holo”主题,这将对应用程序的整体外观产生负面影响。@Booger-很抱歉,您发现我的答案不令人满意。但我不认为采用JellyBean/Kitkat“Holo”风格是一种“负面影响”。我不记得去年我为JellyBean/Kitkat发布了一个没有材质风格的应用程序时有什么问题。@Booger-在Android开发中休息了几个月后,我想回来,但使用了最新的工具。通过阅读《大书呆子农场》一书中的教程,我给自己上了一堂新课。问题是,在遵循BNRG书中的代码示例时,使用Android Studio变得很困难。材料主题与本书不一样,support.v7活动导致必须编写与本书不同的代码。因此,为了从同一本书中重新学习,我需要继续使用Holo。问题是应用程序的外观。通常,您需要最新的UI元素(在Material和SupportLib中提供)。你通过坚持“旧”的风格来绕过这一切。这将非常好地工作(没有bug等),但看起来不现代,不会利用最新的材料设计概念。Holo是5年前发布的,你应该使用材料。@Booger-“应用程序外观”和“应该使用材料”都是观点。不错的意见,但也不是要求。我的回答的目的不是引导人们远离材料,而是帮助那些来自旧工具链的人看到他们习惯的行为。我怀疑我们在这个问题上停滞不前。
import android.app.Activity;

public class MainActivity extends Activity {