Je viens de commencer à l'aide ActionBarSherlock pour la construction d'une application simple, dans mon premier écran je liste simple et j'ai ajouté nouvel élément de menu pour ajouter nouvel élément à la liste:bâtiment ActionMode avec la mise en page personnalisée dans ActionBarSherlock
MenuItem newItem = menu.add("New");
newItem.setIcon(R.drawable.ic_compose_inverse)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
maintenant lorsque l'utilisateur choisir d'ajouter un nouvel élément que je veux commencer un nouveau mode d'action pour l'ajout de nouvel élément, ce mode d'action devrait comporter une mise en page simple avec zone de texte et un bouton, je créé cette mise en page:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="text" >
</EditText>
<Button
android:id="@+id/addBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add" />
</LinearLayout>
alors maintenant j'ai juste besoin de se t cette disposition à la barre dans le nouveau mode d'action:
newItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
actionMode = startActionMode(new MyAction(ListEditor.this));
return true;
}
});
et dans mon action:
private final class MyAction implements ActionMode.Callback {
...
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
View customNav = LayoutInflater.from(context).inflate(R.layout.add_item, null);
getSupportActionBar().setCustomView(customNav);
getSupportActionBar().setDisplayShowCustomEnabled(true);
return true;
}
}
Donc, fondamentalement, je besoin de quelque chose entre ActionModes et CustomNavigation de l'exemple de sherlock, mais le problème est qu'il définit la mise en page à la barre principale et non pour la nouvelle barre qui ouvre pour l'action.
des suggestions?