这是最受欢迎的问题,没有人知道如何解决它......
例如:
<application
android:allowBackup="true"
android:icon="@drawable/add"
android:theme="@style/CustomTheme"
android:showAsAction="ifRoom|withText">
现在我需要隐藏android:icon或者我想删除它
<application
android:allowBackup="true"
android:theme="@style/CustomTheme"
android:showAsAction="ifRoom|withText">
但是在这种情况下我有默认的android图标-_- 可以永久删除此图标吗?
答案 0 :(得分:0)
这可以在下次重启后删除您的启动器图标:
PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
此链接也可以帮助您:
Hide application launcher icon in title bar when activity starts in android
答案 1 :(得分:0)
您可以创建自己的图标图片。
因此,您可以尝试创建具有必要大小的图片,仅包含透明背景。
答案 2 :(得分:0)
我有一个解决方案!我几天前开始学习java和android,所以我的解决方案需要经验丰富的人来验证。在这里你有解决方案:
<强>步骤1 强>
在AndroidManifest.xml文件应用程序部分,我们需要声明NoTitleBar主题。
<application
...
android:theme="@android:style/Theme.NoTitleBar">
...
</application>
<强>第二步强>
现在我们的应用程序加载器(我们设置Theme.NoTitleBar)没有标题栏,所以我们需要创建它或更改android:theme。我采取了第二种选择,所以:
public class MainActivity extends SherlockActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
....
}
....
}
R.style.AppTheme是我们创建的一种风格,但我们可以使用Android API中的任何可用样式。
<强>步骤3 强> 现在我们的标题栏又回来了,但我们仍然有我们的图标和标题。所以我们需要关闭它,现在我们有两个选项可以做到这一点。首先是当我们使用android api 11或更高版本时我们不需要使用ActionBarSherlock libs,第二个是应用程序低于api 11。
API 11或更低
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
...
}
...
API 11或更高版本
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
...
}
...
因此,在第一种情况下,我们使用默认的getActionBar()来管理actionBar,但在第二种情况下,我们使用来自ActionBarSherlock的getSupportActionBar
完成:)