我已经this教程ActionBarSherlock
。问题是,当我已经安装Sherlock时,在2.2版本中,ActionBar仍然没有显示出来。然后我尝试从Java文件实现ActionBar,当我启动我的应用程序时它抛出错误,因为我需要至少3.0版本。主要活动是ListActivity
,所以我的问题是我如何实施SherlockActivity
到ListAcivty
我是否需要这样做?
答案 0 :(得分:1)
首先,您应该在清单
中声明其主题 <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light">
然后在你想要动作栏的每个活动中,你应该将它扩展到动作栏sherlock。
public class xxxx extends SherlockActivity {
对于listview,你可以使用actionbar sherlock来使用这个
... extends SherlockListActivity {
如果您要使用actionbar sherlock的菜单按钮,这就是您的活力结束
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.MenuOfButtons, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.idOfButton:
//action done
break;
}
return true;
}
}
答案 1 :(得分:0)
查看此视频教程: http://www.youtube.com/watch?v=1S9f7GQlWDg
您需要从SherlockActivity扩展。
从ListActivity等其他类扩展时,恐怕无法使用sherlock操作栏。可能是创建ListActivity和SherlockActivity的继承heiratchy的一些解决方法,但它会非常复杂。
如果您无法避免使用ListActivity,您可以在清单中增加API级别(我认为12)并使用android API提供的操作栏。
答案 2 :(得分:0)
你想在清单中使用它。你是否应用了它?
android:theme =“@ style / Theme.Sherlock.Light”
此外,当你扩展SherlockActivity
时,在Main Activity中声明这个final ActionBar ab = getSupportActionBar();
// set defaults for logo & home up
ab.setDisplayHomeAsUpEnabled(false);
ab.setDisplayUseLogoEnabled(true);
ab.setDisplayShowTitleEnabled(true);