我想要一个像 foursquare 这样的操作栏。我想要的是诸如朋友、探索和我。另外,在选项卡上方,我想要一个自定义布局,其中包括一些按钮,例如foursquare 徽标、刷新和签入在四方。我创建了选项卡,但无法更改 ActionBarSherlock 中选项卡上方的布局。我怎么解决这个问题?
要实现 Foursquare 外观,您不需要考虑在选项卡上方创建布局。使用 Actionbar Sherlock 时,您只需要担心:
- 为顶部栏制作背景
- 为顶部栏制作徽标
- 在 menu.xml 文件中添加项目,ActionbarSherlock 将使用该文件用按钮填充顶部部分(只要使用 Actionbar Sherlock 样式的样式附加到该活动)。
因此,对于 1. 和 2. 来说,这都是关于使用 styles.xml 文件(应驻留在 res 文件夹中的 value 文件夹中),如下所示:
<style name="Theme.Example" parent="Theme.Sherlock">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="absForceOverflow">true</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar.Solid">
<item name="background">@drawable/actionbar_background</item> <-- the background for top bar
<item name="icon">@drawable/actionbar_logo</item> <-- the logo that goes top left in the top bar
<item name="backgroundSplit">@drawable/bg_striped_split</item> <-- the image used between the menu items
</style>
对于 3.,您需要做的就是在 menu.xml 下创建菜单项(应驻留在 menu 文件夹中(如果不存在,请在 res 文件夹中创建一个)):
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_prefs"
android:icon="@drawable/settings_icon"
android:title="Preferences"
android:showAsAction="ifRoom" />
</menu>
要查看菜单项,您要做的最后一件事是在活动中使用这些功能:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
public boolean onOptionsItemSelected (MenuItem item) {
Intent intent;
switch (item.getItemId())
{
case R.id.menu_prefs:
// Launch Preference Activity
intent = new Intent(getBaseContext(), Preferences.class);
startActivity(intent);
break;
}
return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)