Toolbar 仍然可以在 Contextual ActionBar 中进行交互
Toolbar can still be interacted with in Contextual ActionBar
上下文 ActionBar 没有与工具栏集成,就像它与 ActionBar 集成一样。它会出现在工具栏上方。这可以通过放置
来解决
`<item `name="windowActionModeOverlay">true</item>`
里面styles.xml
问题是,虽然 CAB 现在覆盖了工具栏,但仅此而已。这意味着,在操作模式下我仍然可以与工具栏交互。
我在下面附上了问题的图片。在这里您可以看到,当我按下工具栏上微调器所在的区域时,工具栏上的微调器仍然出现。
有办法解决这个问题吗?
你应该使用 android:dropDownVerticalOffset="60dp"
<Spinner
android:id="@+id/toolbar_spinner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dropDownVerticalOffset="60dp"
android:dropDownWidth="match_parent"
android:spinnerMode="dropdown" />
解决方案
首次创建动作模式时隐藏工具栏。不要设置 View.GONE
,因为这将删除工具栏的 space。而是用户 View.INVISIBLE
。这将保留工具栏 space.
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
getActivity().getMenuInflater().inflate(R.menu.contextual_action_bar, menu);
toolbar.setVisibility(View.INVISIBLE);
return true;
}
当操作模式被销毁时使工具栏可见。
@Override
public void onDestroyActionMode(ActionMode mode) {
this.mActionMode = null;
toolbar.setVisibility(View.VISIBLE);
}
上下文 ActionBar 没有与工具栏集成,就像它与 ActionBar 集成一样。它会出现在工具栏上方。这可以通过放置
来解决`<item `name="windowActionModeOverlay">true</item>`
里面styles.xml
问题是,虽然 CAB 现在覆盖了工具栏,但仅此而已。这意味着,在操作模式下我仍然可以与工具栏交互。
我在下面附上了问题的图片。在这里您可以看到,当我按下工具栏上微调器所在的区域时,工具栏上的微调器仍然出现。
有办法解决这个问题吗?
你应该使用 android:dropDownVerticalOffset="60dp"
<Spinner
android:id="@+id/toolbar_spinner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dropDownVerticalOffset="60dp"
android:dropDownWidth="match_parent"
android:spinnerMode="dropdown" />
解决方案
首次创建动作模式时隐藏工具栏。不要设置 View.GONE
,因为这将删除工具栏的 space。而是用户 View.INVISIBLE
。这将保留工具栏 space.
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
getActivity().getMenuInflater().inflate(R.menu.contextual_action_bar, menu);
toolbar.setVisibility(View.INVISIBLE);
return true;
}
当操作模式被销毁时使工具栏可见。
@Override
public void onDestroyActionMode(ActionMode mode) {
this.mActionMode = null;
toolbar.setVisibility(View.VISIBLE);
}