到目前为止,我的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()
方法。它声明应用程序已停止响应。
答案 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。
您应该使用此类内容或使用内置主题作为默认值。