web-dev-qa-db-ja.com

コンテキストアクションバーがツールバーに重ならない

アクティビティを作成し、ツールバーを下部に配置したアクションバーとして設定しました。

そのアクティビティの中に、いくつかのデータを含むリストビューがあります。

問題は、リストアイテムを長押しすると、下部にあるツールバーがオーバーレイされるのではなく、コンテキストアクションバーが上部に表示されることです。

私の活動テーマ

<?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;
    }
16
Edijae Crusar

私のツールバーはアクティビティの下部にあったので、解決策はそれをオーバーレイする独自のコンテキストアクションバーを作成することでした。

以下のこのプロジェクトは私に有利なスタートを切った。

https://github.com/afollestad/material-cab

0
Edijae Crusar

Contextual ActionBarToolbarとオーバーラップさせたい場合は、これを使用します

<item name="windowActionModeOverlay">true</item>

の代わりに

<item name="Android:windowActionModeOverlay">true</item>
45
Rajesh

あなたはこのテーマを試すことができますこれはあなたの問題を解決するかもしれません。

 <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>
1
vishal jangid

これは私のために働いた、

<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>
1
Lins Louis
<!-- 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>を使用した場合は削除してください。それは私のために働いた。

0
Aman Srii