[Android] 文字列選択操作の不具合

バグ報告

以下2ケースの操作で文字列選択を行った際の不具合を報告します。

ケース1: ダブルタップでの文字列選択

ダブルタップでの文字列選択は、長押しでの文字列選択と同じ動作になることを期待しますが、以下の点で長押し時の動作と異なります。

  • 選択後の操作ポップアップ (コピーや切り取り等) が表示されず、コピー等ができない
  • 分かち書き認識が異なる

ケース2: 「全て選択」の操作

任意箇所を長押しして文字列選択すると、その後コピー等の操作ポップアップが表示されます。そこから「全て選択」を選んでも、文字列選択がされません。

利用環境

  • Platform: Android (Google 日本語入力を使用)
  • Platform version: 8.0
  • App Version: 2.2.0

Yukoさん

バグ報告ありがとうございます。
Android版はデスクトップ版と同じくCodeMirrorを採用しています。
文字列選択に関してはその実装に依存する部分が多く、OS標準の挙動と異なる部分が出てしまっています。
その原因はCodeMirrorの不具合というより仕様と言わざるを得ず、改善は難しいです。

現在の機能性を保ちつつ細かな挙動も含めたOS準拠なエディタを作るには、ネイティブ実装しかありません。
しかしそれは工数的に非現実的となってしまいます。
可能な範囲で自然な挙動になるよう、今後も改造はしていくつもりです。
ご報告の文字列選択に関しても、もし余裕が出来たら調査・改善したいと思います。

悪しからずご了承ください。

ご返信ありがとうございます!

CodeMirror 依存の挙動ということですね。
手を入れにくいところだと思いますが、落ち着いた頃にでも調査いただければ嬉しいです。

直接的な解決策ではありませんが、文字列選択時に、全て選択/コピー/切り取り/貼り付けの操作パネルが出せると、文字列選択後の操作性が良くなると思います。

参考に、これは「QuickEdit」という Android アプリの表示です。

通常時

Screenshot_20181018-082226

文字列選択時

Screenshot_20181018-081250

なるほど、ありがとうございます!参考になります。
確かに文字列選択時にツールバーを変化させるのはいいアイデアですね。

Good news - CodeMirror is working on version 6 which will fully support Android:

https://codemirror.net/6/

This work is currently at the prototype stage though.
I tried the demo on Android emulator and it seems like it works with Gboard with no problem

まだプロトタイプとのことですが、タッチ操作との親和性が高くなりそうで、期待しています。

selection の改善…のようなことも書いてあったので、このトピックの問題も解消されるといいなーと思っています。

まさに、これがリリースされればもろもろの挙動が改善されることが期待できます。
v6では出来るだけ動作をネイティブに任せるとあるので、テキスト選択も自然になるかと。

ソースコードを読んでみたのですが、完成度は30%ぐらいかなという感じでした。Markdownにはまだ対応していません。
ウォッチしておきます。
ゆっくり待ちましょう!

1 Like