問題タブ [android-actionmode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
186 参照

android - アクションモードであってもOnItemLongClickListenerを呼び出す

OnItemLongClickListener をリストビューに登録しましたが、アクション モードのときにリスナーが呼び出されません。

perfromLongPressメソッドで見られるように、これは予想される動作です。

ロンククリックリスナーを呼び出す方法を知っている人はいますか?

この動作が必要な理由は、1 回の長いクリックで複数のファイルを選択できるようにするためです。例については、 QuickPicアプリを参照してください。

0 投票する
1 に答える
427 参照

android - ActionMode は ListView を自動的に更新しますか?

ListViewでアイテムを削除した後、自分がどのように更新されているのかわかりませんonActionItemClicked

明らかに、このコード サンプルで削除している項目が動的に選択されていないことに気付きました。これは例として示しただけです。ListViewアイテムを削除すると、を呼び出さなくても自動的に更新されますnotifyDatasetChanged()

0 投票する
1 に答える
289 参照

android - ActionMode で MenuItems を視覚的に無効にする方法

私の場合、次のようないくつかの条件に応じて、のActionModeを無効および有効にします。MenuItemsCAB

アイコンのアルファ値を変更するなど、CAB MenuItems 視覚的にも無効にしたいと思います。CABを呼び出してアイコンを実際に置き換えずにこれを行う方法はありますsetIcon()か?

0 投票する
1 に答える
6427 参照

android - AndroidのWebViewでテキストを選択するときにコンテキストアクションバーをオーバーライドする方法は?

私はよくグーグルで検索し、スタックオーバーフローでいくつかのチュートリアルと回答を見つけましたが、この問題を解決するのにいくつかの困難に直面しています.

WebView を持つ Fragment があり、ユーザーが Web ビューのテキストを選択したときに、カスタム コンテキスト アクション バーを表示したいと考えています。ここには 2 つの主な問題があります。

  • 1 現在、ユーザーが Web ビューの任意の部分で長いクリックを実行すると、カスタム CAB が表示されます。
  • 2 ユーザーが Web ビューの一部のテキストを長押しすると、テキストが選択されません。

私の現在のコードの一部:

カスタム インターフェイス:

カスタム WebView

私のフラグメントでは、これがあります:

0 投票する
0 に答える
55 参照

android - Actionbarsherlock - テキスト選択ボタンの色

私の TextView では、android:textIsSelectable でテキスト選択を有効にしました。

問題は、表示されるアクションバーが白く、ボタンの色 (コピー、選択など) も白くなることです。(actionbarsherlock 4.4.0 を使用)

styles.xml でこれらのアイテムの色を変更する可能性はありますか? はいの場合: 正しい方法は何ですか?


編集:次を使用して ActionMode タブをカスタマイズできることがわかりました。

しかし、私はボタンの色を変更することはできません

0 投票する
1 に答える
321 参照

android - ActionMode の代わりに EditText ロング タッチのカスタム ポップアップが必要

EditText ロングタッチの場合、カスタム アクション バーが欲しいです。画面の上部に表示されるアクション バーの代わりに、その位置を制御する必要があります。また、いくつかのカスタム ボタンを追加したいと思います (しかし、それはおそらく簡単な部分です)。

はい、Android のガイドラインに違反していることに気づきました。

ポップアップの作成と配置は簡単です。難しいのは、EditText のテキスト選択動作を維持することです。これにより、長いタッチの場合、標準の動作に従ってテキストが選択されます。

私はいくつかの実験を試みましたが、いずれも何らかの理由で失敗しました:

  1. setCustomSelectionActionModeCallback を使用し、その onCreateActionMode() で「false」を返します。これにより、アクション バーが表示されなくなりますが、ロング タッチでテキストを選択することもできなくなります。

  2. #1 に続き、EditText をサブクラス化し、独自の onTouch メソッドを含めてみました。onTouch では、ACTION_UP に何らかのロジックを追加するとうまくいくのではないかと考えました。2 つのバリエーション:

    • ACTION_UP から常に false を返します。EditText は ACTION_UP を認識せず、すべてのタッチを長いタッチとして扱います。したがって、カーソルの位置決めはありません。

    • EditText が ACTION_UP を受け取れるようにしますが、ロングタッチの場合は、選択を設定する関数を投稿します。これは機能する場合もありますが、カーソルを単一の場所に設定するだけで、選択範囲を強調表示しない場合もあります。つまり、setSelection() が壊れます。

上記のマイナーなバリエーションを試しました。これまでのところ何も機能しません。また、何かが機能したとしても、それはおそらく非常に脆弱なソリューションであり、EditText の次の Android リビジョンで機能しなくなる可能性があります。

どんなアイデアでも大歓迎です!