0

到目前为止,我的 actionbarsherlock 是通过使用布局自定义启用的,并将它们放在showActionBar()MainActivity 的方法中:

LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.actionitems, null);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled (false);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setCustomView(v);


我是否必须将所有这些手动输入到我创建的每个活动中才能显示操作栏?我尝试从新活动中扩展 MainActivity,但它似乎不起作用。例子:

public class MyWebView extends MainActivity

然后调用showActionBar()方法。它指出该应用程序已停止响应。

4

2 回答 2

2

您不需要调用任何方法来使 ActionBar 出现。我认为 SherlockActivity 负责这个,所以你只需要让你的活动扩展 SherlockActivity。

于 2012-10-22T16:09:07.993 回答
0

检查清单中您应用到 Activity 的主题以及 styles.xml 中主题的定义。

我做类似的事情

<style name="SplashScreen" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="android:windowActionBar">false</item>
    ...
 </style>

删除操作栏。

您应该这样做或使用默认的内置主题。

于 2012-10-22T22:48:46.357 回答