1

这是最流行的问题,没有人知道如何解决它...

例如:

<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 图标 -_- 可以永久删除此图标吗?

4

3 回答 3

0

我有办法!几天前我开始学习java和android,所以我的解决方案需要由比我更有经验的人验证。在这里你有解决方案:

步骤1

在 AndroidManifest.xml 文件应用部分我们需要声明 NoTitleBar 主题。

<application
    ...
    android:theme="@android:style/Theme.NoTitleBar">
...
</application>

第2步

现在我们的应用程序加载器时没有标题栏(我们设置了 Theme.NoTitleBar),所以我们需要创建它或更改 android:theme。我采取第二种选择,所以:

public class MainActivity extends SherlockActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.AppTheme);
            ....
    }
    ....
}

R.style.AppTheme 是我们创建的样式,但我们可以使用任何来自 android API 的可用样式。

Step3 现在我们的标题栏又回来了,但我们仍然有我们的图标和标题。所以我们需要关闭它,现在我们有两个选项可以做到这一点。首先是当我们使用 android api 11 或更高版本时,我们不需要使用 ActionBarSherlock 库,其次是用于低于 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

完毕 :)

于 2013-04-05T17:37:48.673 回答
0

这可以在下次重新启动后删除您的启动器图标:

PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

此链接也可以帮助您:

当活动在android中启动时隐藏标题栏中的应用程序启动器图标

于 2013-04-05T12:17:20.307 回答
0

您可以创建自己的图标图片。

因此,您可以尝试创建具有必要大小且仅由透明背景组成的图片。

于 2013-04-05T14:48:46.240 回答