Pau*_*aul 25 android actionbarsherlock contextual-action-bar
在尝试遵循Android设计指南时,我遇到了一个小小的困境.
我希望有一个项目列表,我可以长按几个(多选),然后对它们执行批量操作.
设计指南建议使用Contextual Action Bar,这听起来就像我想到的那样.问题是,我正在努力保持与API 7的兼容性(由于我的手机目前是2.3.3).
我正在使用ActionBarSherlock获取其他操作栏的东西,但我似乎无法弄清楚如何启动它以启动上下文操作栏,也没有弄清楚如何将任意按钮添加到ABS中的ActionBar.我看到你可以做标签,所以也许这就是答案,但是因为我试图允许多选,我不想拥有正常的模态上下文菜单.
sok*_*kie 22
这是一个迟到的答案,但我认为会帮助人们陷入困境.
打开上下文操作栏实际上非常简单,只需在您的活动中调用即可:
startActionMode(mActionModeCallback);
Run Code Online (Sandbox Code Playgroud)
如果您不在主要活动中,例如碎片,则可以参考
getSherlockActivity().startActionMode(mActionModeCallback);
Run Code Online (Sandbox Code Playgroud)
这是回调
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback(){
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.actionbar_context_menu, menu);
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
return true;
case R.id.menu_item2:
//close the action mode
//mode.finish();
return true;
default:
mode.finish();
return false;
}
}
};
Run Code Online (Sandbox Code Playgroud)
xml是一个简单的菜单,如操作栏一:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_item1"
android:icon="@drawable/ic_item1"
android:title="@string/ITEM1"
android:showAsAction="always|withText" />
<item android:id="@+id/menu_item2"
android:icon="@drawable/ic_item2"
android:title="@string/ITEM2"
android:showAsAction="always|withText" />
Run Code Online (Sandbox Code Playgroud)
Rei*_*ier 16
设置上下文操作栏与设置"常规"ActionBar项目相同,就XML而言.开发人员指南中的这个例子解释了这一切.
为了使用ActionBarSherlock,将默认的Android回调替换为ActionBarSherlock编辑的回调(例如,代替Android.View.ActionMode,使用com.actionbarsherlock.view.ActionMode).
| 归档时间: |
|
| 查看次数: |
22656 次 |
| 最近记录: |