相关疑难解决方法(0)

在ActionBarSherlock中使用自定义布局构建ActionMode

我刚刚开始使用ActionBarSherlock构建一些简单的应用程序,在我的第一个屏幕中我有简单的列表,我添加了新的菜单项,用于向列表添加新项目:

MenuItem newItem = menu.add("New");
newItem.setIcon(R.drawable.ic_compose_inverse)
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
Run Code Online (Sandbox Code Playgroud)

现在当用户选择添加新项目时我想开始一个新的动作模式来添加新项目,这个动作模式应该包含一个带文本框和按钮的简单布局,所以我创建了这个布局:

<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>
Run Code Online (Sandbox Code Playgroud)

所以现在我只需要在新的动作模式中将此布局设置为条形:

newItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                actionMode = startActionMode(new MyAction(ListEditor.this));
                return true;
            }
        });
Run Code Online (Sandbox Code Playgroud)

在我的行动中:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我需要来自sherlock示例的ActionModes和CustomNavigation之间的东西,但问题是它将布局设置为主条,而不是为打开操作的新条.

有什么建议?

android actionbarsherlock

7
推荐指数
1
解决办法
8400
查看次数

样式ActionbarSherlock:action-items的textColor

我正在改变我的应用程序中Actionbar的背景,并再次使文本可读,我必须更改文本的颜色.我成功获得了标题/副标题和标签文本,但我正在努力处理动作项目的文本 - 无论我尝试什么,它们都保持白色.任何人都有提示如何做到这一点?溢出图标也是白色,在木制背景上看起来不太好 - 使用下面的东西是一个非常好的理由吗?我不确定不这样做的原因是什么,但由于我没有大型设备测试公园,我最好还是要确定;-)

<!-- the following can be used to style the overflow menu button
     only do this if you have an *extremely* good reason to!! -->
<!--<style name="MyOverflowButton" parent="Widget.Sherlock.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_menu_view</item>
    <item name="android:background">@drawable/action_button_background</item>
</style>-->
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

4
推荐指数
1
解决办法
4369
查看次数