アクティビティを作成し、ツールバーを下部に配置したアクションバーとして設定しました。
そのアクティビティの中に、いくつかのデータを含むリストビューがあります。
問題は、リストアイテムを長押しすると、下部にあるツールバーがオーバーレイされるのではなく、コンテキストアクションバーが上部に表示されることです。
私の活動テーマ
<?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>
私の活動
protected void onCreate(Bundle savedInstanceState){
ToolBar toolbar =(ToolBar) findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
}
CABをツールバーにオーバーレイするにはどうすればよいですか?
[〜#〜]編集[〜#〜]
これは私のクラスの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;
}
私のツールバーはアクティビティの下部にあったので、解決策はそれをオーバーレイする独自のコンテキストアクションバーを作成することでした。
以下のこのプロジェクトは私に有利なスタートを切った。
Contextual ActionBar
をToolbar
とオーバーラップさせたい場合は、これを使用します
<item name="windowActionModeOverlay">true</item>
の代わりに
<item name="Android:windowActionModeOverlay">true</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>
</style>
これは私のために働いた、
<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>
<!-- 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>
を使用した場合は削除してください。それは私のために働いた。