問題タブ [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 投票する
2 に答える
465 参照

android - ChoiceMode multipleChoice を使用してリスト ビューでセレクターを設定する

カスタムの SimpleOnGestureListener を使用して長押しとシングルタップを検出し、それをセレクターを持つ ListView に実装しています。

ここで、リスト内のアイテムが長押しされたときにコンテキスト アクション モードを開始します。その後、singleTapUp を呼び出すたびに、選択したアイテムのセットにアイテム インデックスを追加します。また、非常に初歩的なセットを使用してトグル ロジックを実装しました。

切り替え中に、そのインデックスが、呼び出しから取得したスパースブール配列のブール値にマップされているかどうかも確認します

リストビューで。インデックスが選択したアイテムにない場合は、追加して呼び出します

それ以外の場合は、セットから削除して呼び出します

今私の問題は、長押ししたときにアクションモードのコールバックを開始する最初のアイテムがアクティブ化された背景を保持しないのに対し、その後にクリックするすべてのアイテムが保持されることです。

また、電話しないと

明示的に、アクティブな背景を保持するにはすべてのアイテムを長押しする必要があり、アイテムを1回クリックしても背景は変更されません。

誰かが私が達成したいことをするためのクリーンなアプローチを理解するのを手伝ってくれますか? どんな助けでも大歓迎です。

これが私が使用しているセレクターです --->

0 投票する
2 に答える
1100 参照

android - ActionMode メニューがメニュー項目を非表示にしない

複数選択のリスト ビューでアクション モードを使用しています。私が抱えている問題は、アクション モードのメニューで非表示として指定したアイコンが、プレビューではあるにもかかわらず、エミュレータでテストするときにオーバーフロー メニューで非表示にならないことです。私は AppCompat テーマを使用しています ここに私の menu.xml があります --->

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

android - Android - AppCompat でアクション バーとアクション モードのリップルの色が異なる

Action Bar と Action Mode の波及効果を 2 種類の色にすることは可能でしょうか。私は多くの解決策を試しましたが、どれもうまくいきませんでした。私は自分のstyle.xmlファイルにこれを持っています:

そして、これはaction_mode_style.xmlファイルの内容です(v21バージョン):

私の問題はcolorControlHighlight、アクション モードの属性をオーバーライドできないことです。これで、青色の波及効果を持つ通常のアクション バーと、濃い緑色の背景 (正しい) を持つアクション モード バーができましたが、属性のために緑色ではなく青色の波及効果が表示colorControlHighlightされます (実際、その属性にコメントすると、 、アクションバーの青い波紋とアクションモードの緑の波紋はもうありません)。アクション バーとアクション モードで 2 つの異なる波及効果の色を使用する可能性はありますか? 皆様アドバイスありがとうございます。

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

android - Support Lib v22 で変更された ActionMode の色

最近、v21.0.3 から lib v22.1 をサポートするようにアップグレードしました。ActionMode は v21.0.3 で完全に動作していました。Lollipop では問題なく動作しますが、L より前のデバイスでは正しく動作しません。

更新後の Android Lollipop での表示は次のとおりです。

ここに画像の説明を入力

Kitkat での表示は次のとおりです。

キットカットの ActionMode

以下は私が使用しているテーマです

アクティビティ XML のツールバー

PS v22.0.0でも同じ問題

0 投票する
2 に答える
5148 参照

android - ActionMode の作成時に onPrepareActionMode が呼び出されない

アプリの 1 つを新しい v22.1.1 サポートと appcompat ライブラリに合わせて調整し終えました。詳細については、こちらこちらをご覧ください。テストを行ったところ、使用しているActionModesに何か問題がありました。

呼び出しを使用してActionModeを開始するstartSupportActionMode()と、廃止されたActionBarActivity基本クラスを使用するか、新しいAppCompatActivity基本クラスを使用するかは関係ありませんが、呼び出されていませんonPrepareActionMode()

v21.0.3 および v22.0.0 を含む以前のバージョンではonPrepareActionMode()、ActionMode が を使用して最初に作成されたときに、自動的に呼び出されましたstartSupportActionMode()

2.2、4.4.2、および 5.0 のデバイスでテストしたので、バージョンに依存していないようです。

これが意図された動作であるか、v22.1.1 で導入されたか、バグであるかを知っている人はいますか?

私はこの問題を見つけましたが、ここには多くのフィードバックがありません...

2015 年 5 月 11 日編集:

Android イシュー トラッカー 159527で説明されているように、この問題は appcompat の v22.1.x とサポート ライブラリだけでなく、5.1 Android 実装にも影響します。

現時点で可能な一時的な解決策は 2 つあります。一般的な解決策は次のとおりです。

および「迅速で汚い」もの(ActionModeをインスタンス化するとき):

ActionBarActivityappcompat ( / ) を使用しない場合はAppCompatActivity、 に置き換える必要がありstartSupportActionMode()ますstartActionMode()

残念ながら、これが意図した新しい動作なのかバグなのかはまだはっきりしていません。API docによると、これはバグ/リグレッションですが、誰が知っていますか...