上下文操作栏不覆盖我的工具栏
Contextual action bar does not overlay my toolbar
我创建了一个 activity 并将工具栏设置为位于底部的操作栏。
在那个 activity 里面,我有一个包含一些数据的列表视图。
问题是,当我长按列表项时,上下文操作栏出现在顶部,而不是覆盖位于底部的工具栏。
我的activity主题
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="myActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
我的工具栏
<android.support.v7.widget.Toolbar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:id="@+id/toorbar"
android:background="@android:color/white"
android:layout_gravity="bottom">
</android.support.v7.widget.Toolbar>
我的activity
protected void onCreate(Bundle savedInstanceState){
ToolBar toolbar =(ToolBar) findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
}
我应该怎么做才能让 CAB 覆盖我的工具栏?
编辑
这是我 class 中处理长时间点击的 onCreateActionMode
方法
private class Selector implements AbsListView.MultiChoiceModeListener{
@Override
public boolean onCreateActionMode(android.view.ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.my_activity_menu,menu);
toolbar.setVisibility(View.VISIBLE);
return true;
}
你可以试试这个主题,这可能会解决你的问题。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
如果您希望上下文 ActionBar
与 Toolbar
重叠,请使用此
<item name="windowActionModeOverlay">true</item>
而不是
<item name="android:windowActionModeOverlay">true</item>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<!-- required for toolbar in prelolipop -->
<item name="android:windowNoTitle">true</item>
**<item name="windowActionModeOverlay">true</item>**
</style>
对上下文操作栏使用 <item name="windowActionModeOverlay>true</item>
以覆盖工具栏。如果您使用过,请删除
<item name="windowActionBar">false</item>
。它对我有用。
这对我有用,
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>
由于我的工具栏位于 activity 的底部,解决方案是制作我自己的上下文操作栏来覆盖它。
下面的这个项目让我有了一个良好的开端。
我创建了一个 activity 并将工具栏设置为位于底部的操作栏。
在那个 activity 里面,我有一个包含一些数据的列表视图。
问题是,当我长按列表项时,上下文操作栏出现在顶部,而不是覆盖位于底部的工具栏。
我的activity主题
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="myActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
我的工具栏
<android.support.v7.widget.Toolbar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:id="@+id/toorbar"
android:background="@android:color/white"
android:layout_gravity="bottom">
</android.support.v7.widget.Toolbar>
我的activity
protected void onCreate(Bundle savedInstanceState){
ToolBar toolbar =(ToolBar) findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
}
我应该怎么做才能让 CAB 覆盖我的工具栏?
编辑
这是我 class 中处理长时间点击的 onCreateActionMode
方法
private class Selector implements AbsListView.MultiChoiceModeListener{
@Override
public boolean onCreateActionMode(android.view.ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.my_activity_menu,menu);
toolbar.setVisibility(View.VISIBLE);
return true;
}
你可以试试这个主题,这可能会解决你的问题。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
如果您希望上下文 ActionBar
与 Toolbar
重叠,请使用此
<item name="windowActionModeOverlay">true</item>
而不是
<item name="android:windowActionModeOverlay">true</item>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<!-- required for toolbar in prelolipop -->
<item name="android:windowNoTitle">true</item>
**<item name="windowActionModeOverlay">true</item>**
</style>
对上下文操作栏使用 <item name="windowActionModeOverlay>true</item>
以覆盖工具栏。如果您使用过,请删除
<item name="windowActionBar">false</item>
。它对我有用。
这对我有用,
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>
由于我的工具栏位于 activity 的底部,解决方案是制作我自己的上下文操作栏来覆盖它。
下面的这个项目让我有了一个良好的开端。