4

私のアクティビティでは、Toolbar(appcompat から) をタイトル (xml で定義) の代わりにスピナーと共に使用します。アクティビティではないActionBarActivityので、supportActionBar としては使用しません

選択が発生するとactionMode、ツールバーの上にスタイル設定された を開始します。

ただし、actionMode のタイトルをクリックすると、基になるスピナーのドロップダウン メニューが開きます。actionMode のタイトルのタッチ イベントを「キャッチ」して、それらがツールバーに渡されないようにするにはどうすればよいですか?

4

2 に答える 2

2

簡単な解決策の 1 つはyourspinner.setClickable(false);、actionMode を開いyourspinner.setClickable(true);たときと閉じたときに配置することです。

編集

actionModeonActionItemClickedメソッドをオーバーライドして返すこともできますtrue

https://developer.android.com/reference/android/support/v7/view/ActionMode.Callback.html#onActionItemClicked(android.support.v7.view.ActionMode、android.view.MenuItem )

于 2015-04-02T10:02:45.990 に答える
2

ツールバーの onTouchEvent のオーバーロードを試みることができます。actionMode が true の場合、true が送信され、touchEvent チェーンが停止します。

mToolbar.setOnTouchListener(new View.OnTouchListener()
{
    @Override
    public boolean onTouch(View v, MotionEvent event)
    {
         return actionMode;
    }
 });

お役に立てば幸いです。

于 2015-04-08T07:43:32.643 に答える