是否有一个捷径可以让我在每个活动中调用操作栏?

时间:2012-10-22 15:56:32

标签: android actionbarsherlock

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

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()方法。它声明应用程序已停止响应。

2 个答案:

答案 0 :(得分:2)

您无需调用任何方法即可显示ActionBar。我认为SherlockActivity对此负责,所以你只需要让你的活动扩展SherlockActivity。

答案 1 :(得分:0)

检查您正在使用清单中的活动主题以及styles.xml中主题的定义。

我喜欢

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

删除ActionBar。

您应该使用此类内容或使用内置主题作为默认值。