【问题标题】:Contextual Action Bar Text change for "DONE" button in AndroidAndroid中“完成”按钮的上下文操作栏文本更改
【发布时间】:2013-01-12 02:34:38
【问题描述】:

我的应用程序中有 CAB 菜单。我需要将“完成”按钮上的文本更改为“添加”。我该怎么做?

我可以看到设计元素。但不是我的要求。

<item name="android:actionModeCloseDrawable"></item>
<item name="android:actionModeCutDrawable"></item>
<item name="android:actionModeCopyDrawable"></item>
<item name="android:actionModePasteDrawable"></item>
<item name="android:actionModeSelectAllDrawable"></item>
<item name="android:actionModeBackground"></item>
<item name="android:actionModeCloseButtonStyle"></item>

【问题讨论】:

  • 恕我直言,“添加”在关闭操作模式时没有意义。一个动作模式,就其自身而言,不应该改变任何事物的状态,仅仅通过被显示。它只是提出了旨在对某物进行操作的附加操作(例如,列表中的已选中项目)。
  • 当操作栏被关闭时,我正在向我的列表中添加一些项目。所以如果文本是“添加”而不是“完成”会很好。在解除动作模式的同时做任何操作有错吗?
  • “当操作栏被关闭时,我正在向我的列表中添加一些项目”——恕我直言,这不是一个好主意。动作模式只不过是一个更好看的上下文菜单。显示一个菜单,而不是从中选择任何东西,不应该是一种破坏性的行为。同样,显示一个动作模式,而不用它做任何事情,不应该是一种破坏性的行为。再说一次,这就是我的全部观点。
  • 很好。谢谢你的建议。我将通过在 CAB 菜单上添加另一个按钮来进行操作。
  • 我想这个问题并没有真正得到回答 - 我有一个类似的情况,我需要将“完成”文本更改为“取消” - 用户正在取消操作,表明他不想改变任何东西(按下后退按钮具有相同的效果)。有什么指点吗?

标签: android android-actionbar contextual-action-bar


【解决方案1】:

您可以像其他菜单一样在 xml 文件中定义它。然后像这样在回调中引用它

private final class ModeCallback implements ActionMode.Callback {

    @Override
    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        MenuInflater inflater = Activity.getSupportMenuInflater();
        inflater.inflate(R.menu.contexual_menu, menu);
        return true;
    }

    @Override
    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {

        return false;
    }

    @Override
    public void onDestroyActionMode(ActionMode mode) {
        //Destroy something
    }

    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        Toast.makeText(Activity.this, "Well done you made an custom CAB", Toast.LENGTH_SHORT).show();

    }
};

确保你像这样启动 actionMode

startActionMode(new ModeCallback());

【讨论】:

  • 我有一个动作模式监听器的工作代码。我不是要求那个。我只想将文本(“完成”)更改为更靠近 CAB 菜单左侧的刻度线。
  • 您应该编辑您写的问题“我需要将“完成”按钮上的文本更改为“添加””
  • 我引用了他,有什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2017-12-14
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
相关资源
最近更新 更多