我有办法!几天前我开始学习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
完毕 :)