我ActionBarSherlock
已从本教程安装。问题是当我安装了 Sherlock 时,2.2 版本的 ActionBar 仍然没有出现。然后我尝试从 Java 文件实现 ActionBar,当我启动我的应用程序时它会抛出错误,因为我需要至少 3.0 版本。主要活动是ListActivity
,所以我的问题是我该如何实施SherlockActivity
,ListAcivty
我需要这样做吗?
问问题
116 次
3 回答
1
首先你应该在清单中声明它的主题
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light">
然后在您想要操作栏的每个活动中,您应该将其扩展到操作栏夏洛克。
public class xxxx extends SherlockActivity {
对于listview,您可以使用actionbar sherlock's one by using this
... extends SherlockListActivity {
如果您要使用操作栏夏洛克的菜单按钮,这就是您的活动的结束
@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;
}
}
于 2013-08-20T10:34:54.683 回答
0
您想在清单中使用它。您是否应用了这个?
android:theme="@style/Theme.Sherlock.Light"
此外,当您扩展 SherlockActivity 时,在 Main Activity 中声明它
最终动作栏 ab = getSupportActionBar();
// set defaults for logo & home up
ab.setDisplayHomeAsUpEnabled(false);
ab.setDisplayUseLogoEnabled(true);
ab.setDisplayShowTitleEnabled(true);
于 2013-08-20T10:21:37.317 回答
0
查看此视频教程: http ://www.youtube.com/watch?v=1S9f7GQlWDg
您需要从 SherlockActivity 扩展。
从 ListActivity 等其他类扩展时,恐怕您不能使用 sherlock 操作栏。可能是一些创建 ListActivity 和 SherlockActivity 的继承 heirathy 的解决方法会派上用场,但它会非常复杂。
如果您无法避免使用 ListActivity,您可以在清单中增加 API 级别(我认为是 12)并使用 android API 提供的操作栏。
于 2013-08-20T10:20:23.210 回答